Skip to content
This repository was archived by the owner on Aug 13, 2024. It is now read-only.

Commit 8336f57

Browse files
authored
Merge pull request #66 from DominicWrege/master
hotfix 2.0.4
2 parents dad4660 + 98b74b5 commit 8336f57

File tree

4 files changed

+50
-55
lines changed

4 files changed

+50
-55
lines changed

Ladefuchs/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
applicationId "app.ladefuchs.android"
1212
minSdkVersion 26
1313
targetSdkVersion 33
14-
versionCode 203
15-
versionName "2.0.3"
14+
versionCode 204
15+
versionName "2.0.4"
1616

1717
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1818
}

Ladefuchs/app/src/main/java/app/ladefuchs/android/helper/drawHelper.kt

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,14 @@ fun fillCards(
187187
cardView.addView(imageView)
188188

189189
if (currentCard.note.isNotEmpty() || currentCard.blockingFee > 0) {
190-
addHuedchen(parentView.context, cardView, frameLayout)
190+
addHuetchen(parentView.context, cardView, frameLayout)
191191
}
192192

193193
cell.addView(frameLayout)
194-
val (imageDrawable, downloaded) = getCardImageDrawable(currentCard, parentView.context)
194+
val (imageDrawable, downloaded) = downloadOrGetImageDrawable(
195+
currentCard.image,
196+
parentView.context
197+
)
195198
cardsDownloaded = downloaded
196199
if (imageDrawable != null) {
197200
imageView.setImageDrawable(imageDrawable)
@@ -286,7 +289,7 @@ private fun fillEmptyCells(
286289
}
287290
}
288291

289-
private fun addHuedchen(
292+
private fun addHuetchen(
290293
context: Context,
291294
cardView: CardView,
292295
frameLayout: FrameLayout
@@ -389,7 +392,7 @@ fun createCardDetailPopup(
389392
}
390393

391394
// Set card Image
392-
val (image, _) = getCardImageDrawable(currentCard, view.context)
395+
val (image, _) = downloadOrGetImageDrawable(currentCard.image, view.context)
393396
if (image != null) {
394397
val imageView = popupView.findViewById<ImageView>(R.id.card_logo)
395398
imageView.setImageDrawable(image)
@@ -443,27 +446,23 @@ fun createCardDetailPopup(
443446
popupView.findViewById<Button>(R.id.getCard).visibility = View.INVISIBLE
444447
}
445448

446-
// Retrieve Operator Image
447-
var operatorImage: Drawable? = null
448-
if (!operator.image.isNullOrEmpty()) {
449-
val imgPath = getImagePath(URL(operator.image), view.context, true)
450-
if (!imgPath.exists())
451-
downloadImageToInternalStorage(imageURL = URL(operator.image), view.context, cpo = true)
452-
try {
453-
operatorImage = Drawable.createFromPath(imgPath.absolutePath)!!
454-
} catch (e: Exception) {
455-
//Download was to slow or failed no need for error handling because generated image will be used
456-
if (BuildConfig.DEBUG) {
457-
e.printStackTrace()
458-
}
459-
}
460-
}
449+
// retrieve operator image
450+
val (operatorImage, _) = downloadOrGetImageDrawable(operator.image, view.context)
461451
val operatorImageView = popupView.findViewById<ImageView>(R.id.cpo_logo)
462-
// creating an own image
452+
463453
if (operatorImage == null) {
464-
operatorImage = AppCompatResources.getDrawable(view.context, R.drawable.cpo_generic)
454+
// set operator placeholder image
455+
operatorImageView.setImageDrawable(
456+
AppCompatResources.getDrawable(
457+
view.context,
458+
R.drawable.cpo_generic
459+
)
460+
)
461+
} else {
462+
// set operator image
465463
operatorImageView.setImageDrawable(operatorImage)
466464
}
465+
467466
}
468467

469468
@SuppressLint("DiscouragedApi")
@@ -500,25 +499,26 @@ private fun createDialog(
500499
}
501500

502501

503-
fun getCardImageDrawable(card: ChargeCards, context: Context): Pair<Drawable?, Boolean> {
502+
fun downloadOrGetImageDrawable(imageUriStr: String?, context: Context): Pair<Drawable?, Boolean> {
504503

505-
if (card.image.isNullOrEmpty()) {
504+
if (imageUriStr.isNullOrEmpty()) {
506505
return null to false
507506
}
508-
val cardUri = URL(card.image)
509-
var cardImagePath: File? = getImagePath(cardUri, context)
510507

511-
if (cardImagePath?.exists() == false) {
508+
val uri = URL(imageUriStr)
509+
var imagePath: File? = getImagePath(uri, context)
510+
511+
if (imagePath?.exists() == false) {
512512
downloadImageToInternalStorage(
513-
cardUri,
513+
uri,
514514
context
515515
)
516516
}
517517

518-
if (cardImagePath?.exists() == true) {
518+
if (imagePath?.exists() == true) {
519519
try {
520-
cardImagePath = getImagePath(cardUri, context)
521-
return Drawable.createFromPath(cardImagePath.absolutePath) to false
520+
imagePath = getImagePath(uri, context)
521+
return Drawable.createFromPath(imagePath.absolutePath) to false
522522
} catch (e: Exception) {
523523
if (BuildConfig.DEBUG) {
524524
e.printStackTrace()

Ladefuchs/app/src/main/java/app/ladefuchs/android/ui/chargecards/ChargeCardFragment.kt

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package app.ladefuchs.android.ui.chargecards
22

33
import android.app.AlertDialog
4-
import android.content.Context
54
import android.content.Intent
65
import android.content.SharedPreferences
76
import android.graphics.Bitmap
87
import android.graphics.BitmapFactory
98
import android.graphics.Color
109
import android.graphics.drawable.BitmapDrawable
11-
import android.graphics.drawable.Drawable
1210
import android.net.Uri
1311
import android.os.Build
1412
import android.os.Bundle
@@ -31,9 +29,6 @@ import app.ladefuchs.android.dataClasses.Banner
3129
import app.ladefuchs.android.dataClasses.Operator
3230
import app.ladefuchs.android.helper.*
3331
import com.aigestudio.wheelpicker.WheelPicker
34-
import java.io.File
35-
import java.nio.file.Files
36-
import java.nio.file.Path
3732
import java.nio.file.Paths
3833
import kotlin.io.path.exists
3934

@@ -267,34 +262,34 @@ class ChargeCardFragment : Fragment() {
267262
*/
268263
@RequiresApi(Build.VERSION_CODES.R)
269264
private fun retrieveFooterContent(view: View) {
270-
271265
if (!showBanner) {
272266
return
273267
}
268+
drawBanner(view, retrieveBanners(view.context))
269+
}
274270

275-
val banner = retrieveBanners(view.context) ?: return
276-
val bannerFilePath = Paths.get("${view.context.filesDir}/${banner.filename}")
277-
if (!bannerFilePath.exists()) {
278-
val phrases =
279-
view.context.assets.open("phrases.txt").bufferedReader()
280-
.readLines()
281-
printLog("Falling back on your mom", "debug")
282-
phraseView.text = phrases.randomOrNull() ?: ""
283-
return
284-
}
285-
286-
drawPromoBanner(view, banner, bannerFilePath)
271+
private fun drawPhrasesBanner(view: View) {
272+
val phrases =
273+
view.context.assets.open("phrases.txt").bufferedReader()
274+
.readLines()
275+
printLog("Falling back on your mom", "debug")
276+
phraseView.text = phrases.randomOrNull() ?: ""
287277
}
288278

289279
/**
290280
* This function draws the banner content
291281
*/
292282
@RequiresApi(Build.VERSION_CODES.R)
293-
private fun drawPromoBanner(
283+
private fun drawBanner(
294284
view: View,
295-
banner: Banner,
296-
filename: Path
285+
banner: Banner?,
297286
) {
287+
val bannerFilePath = Paths.get("${view.context.filesDir}/${banner?.filename ?: "banner"}")
288+
if (!bannerFilePath.exists() || banner == null) {
289+
drawPhrasesBanner(view)
290+
return
291+
}
292+
298293
val viewWidth = getScreenWidth()
299294
val viewHeight = 240 * viewWidth / 1100
300295
val phraseContainer = view.findViewById(R.id.phraseContainer) as LinearLayout
@@ -306,7 +301,7 @@ class ChargeCardFragment : Fragment() {
306301

307302
val bannerButton = view.findViewById<ImageButton>(R.id.bannerImage)
308303

309-
val bitmapImage = BitmapFactory.decodeFile(filename.toString())
304+
val bitmapImage = BitmapFactory.decodeFile(bannerFilePath.toString())
310305
val drawable = BitmapDrawable(resources, bitmapImage)
311306
bannerButton.setImageDrawable(drawable)
312307
val drawableImage = BitmapDrawable(

Ladefuchs/app/src/main/res/layout/fragment_chargecards.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@
249249
<com.aigestudio.wheelpicker.WheelPicker
250250
android:id="@+id/pocSelector"
251251
android:layout_width="0dp"
252-
android:layout_height="140dp"
252+
android:layout_height="145dp"
253253
android:background="@drawable/border_light_bg_left"
254254
android:paddingTop="10dp"
255255
android:paddingBottom="10dp"

0 commit comments

Comments
 (0)