Skip to content

Commit f4aa6df

Browse files
kukadiajayeshtherajanmaurya
authored andcommitted
Feat: able to change text typeface
1 parent f7de65c commit f4aa6df

File tree

7 files changed

+85
-23
lines changed

7 files changed

+85
-23
lines changed

SweetUpdate/src/main/java/com/github/sweet/play/update/SweetPlayAppUpdaterBottomSheet.kt

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package com.github.sweet.play.update
22

33
import android.app.Activity
44
import android.content.Intent
5+
import android.content.IntentSender
6+
import android.content.IntentSender.SendIntentException
57
import android.graphics.Typeface
68
import android.os.Bundle
79
import android.view.LayoutInflater
@@ -23,8 +25,8 @@ class SweetPlayAppUpdaterBottomSheet(
2325
private val title: String,
2426
private val description: String,
2527
private val headerImage: Int,
26-
private val typeface: Typeface? = null,
27-
private val background: Int
28+
private val background: Int,
29+
private val textFont: TextFont? = null
2830
) : BottomSheetDialogFragment(), InstallStateUpdatedListener {
2931

3032
private lateinit var appUpdateManager: AppUpdateManager
@@ -37,9 +39,9 @@ class SweetPlayAppUpdaterBottomSheet(
3739
title: String,
3840
description: String,
3941
headerImage: Int,
40-
typeface: Typeface?,
41-
background: Int
42-
) = SweetPlayAppUpdaterBottomSheet(title, description, headerImage, typeface, background)
42+
background: Int,
43+
textFont: TextFont? = null
44+
) = SweetPlayAppUpdaterBottomSheet(title, description, headerImage, background, textFont)
4345

4446
const val REQUEST_CODE_FLEXIBLE_UPDATE = 17363
4547
}
@@ -62,16 +64,19 @@ class SweetPlayAppUpdaterBottomSheet(
6264
headerImage = this@SweetPlayAppUpdaterBottomSheet.headerImage
6365
bsBackground = this@SweetPlayAppUpdaterBottomSheet.background
6466

65-
typeface?.let {
66-
tvUpdateAvailable.typeface = it
67-
tvUpdateAvailableMessage.typeface = it
68-
tvUpdateProgress.typeface = it
69-
tvCheckingUpdate.typeface = it
70-
71-
btnLater.typeface = it
72-
btnDownloadInstall.typeface = it
73-
btnCancel.typeface = it
74-
btnOk.typeface = it
67+
textFont?.let { textFont ->
68+
textFont.title?.let { tvUpdateAvailable.typeface = it }
69+
textFont.desc?.let { tvUpdateAvailableMessage.typeface = it }
70+
textFont.progressTitle?.let {
71+
tvUpdateProgress.typeface = it
72+
tvCheckingUpdate.typeface = it
73+
}
74+
textFont.button?.let {
75+
btnLater.typeface = it
76+
btnDownloadInstall.typeface = it
77+
btnCancel.typeface = it
78+
btnOk.typeface = it
79+
}
7580
}
7681
}
7782
return binding.root
@@ -159,12 +164,16 @@ class SweetPlayAppUpdaterBottomSheet(
159164
* Start downloading updates
160165
*/
161166
private fun startForInAppUpdate() {
162-
appUpdateManager.startUpdateFlowForResult(
163-
appUpdateInfo,
164-
AppUpdateType.FLEXIBLE,
165-
requireActivity(),
166-
REQUEST_CODE_FLEXIBLE_UPDATE
167-
)
167+
try {
168+
appUpdateManager.startUpdateFlowForResult(
169+
appUpdateInfo,
170+
AppUpdateType.FLEXIBLE,
171+
requireActivity(),
172+
REQUEST_CODE_FLEXIBLE_UPDATE
173+
)
174+
} catch (e: SendIntentException) {
175+
e.printStackTrace()
176+
}
168177
}
169178

170179
/**
@@ -251,3 +260,11 @@ class SweetPlayAppUpdaterBottomSheet(
251260
unregisterListener()
252261
}
253262
}
263+
264+
data class TextFont(
265+
val title: Typeface? = null,
266+
val desc: Typeface? = null,
267+
val progressTitle: Typeface? = null,
268+
val msg: Typeface? = null,
269+
val button: Typeface? = null
270+
)

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
<category android:name="android.intent.category.LAUNCHER" />
1717
</intent-filter>
1818
</activity>
19+
<meta-data
20+
android:name="preloaded_fonts"
21+
android:resource="@array/preloaded_fonts" />
1922
</application>
2023

2124
</manifest>

app/src/main/java/com/github/sweet/play/update/demo/MainActivity.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import android.app.Activity
44
import android.content.Intent
55
import android.os.Bundle
66
import androidx.appcompat.app.AppCompatActivity
7+
import androidx.core.content.res.ResourcesCompat
78
import androidx.databinding.DataBindingUtil
89
import com.github.sweet.play.update.SweetPlayAppUpdater
910
import com.github.sweet.play.update.SweetPlayAppUpdater.Companion.REQUEST_CODE_FLEXIBLE_UPDATE
1011
import com.github.sweet.play.update.SweetPlayAppUpdaterBottomSheet
12+
import com.github.sweet.play.update.TextFont
1113
import com.github.sweet.play.update.demo.databinding.ActivityMainBinding
1214

1315
class MainActivity : AppCompatActivity() {
@@ -28,12 +30,21 @@ class MainActivity : AppCompatActivity() {
2830
}
2931

3032
fun checkUpdatesInBottomSheet() {
33+
34+
// Testing purpose only
35+
val typeface = ResourcesCompat.getFont(this, R.font.nunito)
36+
3137
SweetPlayAppUpdaterBottomSheet.newInstant(
3238
"App Update Available",
3339
"We have fixed some issues and added some cool feature in this update",
3440
R.drawable.ic_android_black_24dp,
35-
null,
36-
R.drawable.shp_header_background
41+
R.drawable.shp_header_background,
42+
TextFont(
43+
title = typeface,
44+
desc = typeface,
45+
progressTitle = typeface,
46+
msg = typeface
47+
)
3748
).apply { isCancelable = false }
3849
.show(supportFragmentManager, "Check Update")
3950
}

app/src/main/res/font/nunito.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
3+
app:fontProviderAuthority="com.google.android.gms.fonts"
4+
app:fontProviderPackage="com.google.android.gms"
5+
app:fontProviderQuery="Nunito"
6+
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
7+
</font-family>

app/src/main/res/layout/activity_main.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
android:id="@+id/textView"
2525
android:layout_width="wrap_content"
2626
android:layout_height="wrap_content"
27+
android:fontFamily="@font/nunito"
2728
android:text="@{@string/version_code_and_name(BuildConfig.VERSION_CODE, BuildConfig.VERSION_NAME)}"
2829
app:layout_constraintBottom_toBottomOf="parent"
2930
app:layout_constraintLeft_toLeftOf="parent"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<array name="com_google_android_gms_fonts_certs">
4+
<item>@array/com_google_android_gms_fonts_certs_dev</item>
5+
<item>@array/com_google_android_gms_fonts_certs_prod</item>
6+
</array>
7+
<string-array name="com_google_android_gms_fonts_certs_dev">
8+
<item>
9+
MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=
10+
</item>
11+
</string-array>
12+
<string-array name="com_google_android_gms_fonts_certs_prod">
13+
<item>
14+
MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK
15+
</item>
16+
</string-array>
17+
</resources>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<array name="preloaded_fonts" translatable="false">
4+
<item>@font/nunito</item>
5+
</array>
6+
</resources>

0 commit comments

Comments
 (0)