Skip to content

Commit fe566cf

Browse files
authored
Merge pull request #133 from KieronQuinn/release/1.7.2
1.7.2
2 parents 372af8b + 180b503 commit fe566cf

15 files changed

Lines changed: 77 additions & 39 deletions

File tree

Controls/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ plugins {
44
}
55

66
android {
7-
compileSdk 31
7+
compileSdk 34
88

99
defaultConfig {
1010
minSdk 30
11-
targetSdk 31
11+
targetSdk 34
1212

1313
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1414
consumerProguardFiles "consumer-rules.pro"
@@ -32,10 +32,10 @@ android {
3232

3333
dependencies {
3434
implementation 'androidx.core:core-ktx:1.12.0'
35-
implementation "androidx.lifecycle:lifecycle-common-java8:2.7.0-alpha03"
35+
implementation "androidx.lifecycle:lifecycle-common-java8:2.7.0"
3636
implementation 'androidx.recyclerview:recyclerview:1.3.2'
3737
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
38-
implementation 'androidx.fragment:fragment-ktx:1.6.1'
38+
implementation 'androidx.fragment:fragment-ktx:1.6.2'
3939
implementation 'androidx.preference:preference-ktx:1.2.1'
4040
implementation 'androidx.viewpager2:viewpager2:1.0.0'
4141
implementation "io.insert-koin:koin-android:$koin_version"

Controls/src/main/java/com/android/settingslib/applications/ServiceListing.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import android.provider.Settings;
3434
import android.util.Log;
3535

36+
import com.android.systemui.util.extensions.Extensions_ContextKt;
37+
3638
import java.util.ArrayList;
3739
import java.util.HashSet;
3840
import java.util.List;
@@ -87,7 +89,7 @@ public void setListening(boolean listening) {
8789
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
8890
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
8991
filter.addDataScheme("package");
90-
mContext.registerReceiver(mPackageReceiver, filter);
92+
Extensions_ContextKt.registerReceiverCompat(mContext, mPackageReceiver, filter);
9193
mContentResolver.registerContentObserver(Settings.Secure.getUriFor(mSetting),
9294
false, mSettingsObserver);
9395
} else {

Controls/src/main/java/com/android/systemui/broadcast/UserBroadcastDispatcher.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import androidx.core.util.Preconditions
3131
import com.android.systemui.Dumpable
3232
import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger
3333
import com.android.systemui.util.extensions.indentIfPossible
34+
import com.android.systemui.util.extensions.registerReceiverCompat
3435
import java.io.FileDescriptor
3536
import java.io.PrintWriter
3637
import java.util.concurrent.Executor
@@ -120,7 +121,7 @@ open class UserBroadcastDispatcher(
120121
action,
121122
userId,
122123
{
123-
context.registerReceiver(this, it, null, bgHandler)
124+
context.registerReceiverCompat(this, it, null, bgHandler)
124125
logger.logContextReceiverRegistered(userId, it)
125126
},
126127
{

Controls/src/main/java/com/android/systemui/controls/controller/ControlsControllerImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ class ControlsControllerImpl constructor (
243243
executor,
244244
UserHandle_ALL
245245
)
246-
context.registerReceiver(
246+
context.registerReceiverCompat(
247247
restoreFinishedReceiver,
248248
IntentFilter(BackupHelper.ACTION_RESTORE_FINISHED),
249249
PERMISSION_SELF,

Controls/src/main/java/com/android/systemui/controls/management/ControlsFavoritingActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ class ControlsFavoritingActivity: LifecycleActivity() {
148148
statusText.text = resources.getText(R.string.loading)
149149
val emptyZoneString = resources.getText(
150150
R.string.controls_favorite_other_zone_header)
151-
controller.loadForComponent(it, Consumer { data ->
151+
controller.loadForComponent(it, { data ->
152152
val allControls = data.allControls
153153
val favoriteKeys = data.favoritesIds
154154
val error = data.errorOnLoad
@@ -187,7 +187,7 @@ class ControlsFavoritingActivity: LifecycleActivity() {
187187

188188
ControlsAnimations.enterAnimation(pageIndicator).apply {
189189
addListener(object : AnimatorListenerAdapter() {
190-
override fun onAnimationEnd(animation: Animator?) {
190+
override fun onAnimationEnd(animation: Animator) {
191191
// Position the tooltip if necessary after animations are complete
192192
// so we can get the position on screen. The tooltip is not
193193
// rooted in the layout root.
@@ -206,7 +206,7 @@ class ControlsFavoritingActivity: LifecycleActivity() {
206206
ControlsAnimations.enterAnimation(structurePager).start()
207207
}
208208
}
209-
}, Consumer { runnable -> cancelLoadRunnable = runnable })
209+
}, { runnable -> cancelLoadRunnable = runnable })
210210
}
211211
}
212212

Controls/src/main/java/com/android/systemui/controls/ui/ControlViewHolder.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ class ControlViewHolder(
329329
layout.alpha = MathUtils.lerp(oldAlpha, 1f, it.animatedFraction)
330330
}
331331
addListener(object : AnimatorListenerAdapter() {
332-
override fun onAnimationEnd(animation: Animator?) {
332+
override fun onAnimationEnd(animation: Animator) {
333333
stateAnimator = null
334334
}
335335
})
@@ -369,7 +369,7 @@ class ControlViewHolder(
369369
duration = 200L
370370
interpolator = Interpolators.LINEAR
371371
addListener(object : AnimatorListenerAdapter() {
372-
override fun onAnimationEnd(animation: Animator?) {
372+
override fun onAnimationEnd(animation: Animator) {
373373
statusRowUpdater.invoke()
374374
}
375375
})
@@ -381,7 +381,7 @@ class ControlViewHolder(
381381
statusAnimator = AnimatorSet().apply {
382382
playSequentially(fadeOut, fadeIn)
383383
addListener(object : AnimatorListenerAdapter() {
384-
override fun onAnimationEnd(animation: Animator?) {
384+
override fun onAnimationEnd(animation: Animator) {
385385
status.alpha = STATUS_ALPHA_ENABLED
386386
statusAnimator = null
387387
}

Controls/src/main/java/com/android/systemui/controls/ui/ToggleRangeBehavior.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ class ToggleRangeBehavior : Behavior {
244244
cvh.clipLayer.level = it.animatedValue as Int
245245
}
246246
addListener(object : AnimatorListenerAdapter() {
247-
override fun onAnimationEnd(animation: Animator?) {
247+
override fun onAnimationEnd(animation: Animator) {
248248
rangeAnimator = null
249249
}
250250
})
@@ -335,7 +335,7 @@ class ToggleRangeBehavior : Behavior {
335335
}
336336

337337
override fun onScroll(
338-
e1: MotionEvent,
338+
e1: MotionEvent?,
339339
e2: MotionEvent,
340340
xDiff: Float,
341341
yDiff: Float

Controls/src/main/java/com/android/systemui/util/extensions/Extensions+Context.kt

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
package com.android.systemui.util.extensions
22

3+
import android.annotation.SuppressLint
4+
import android.content.BroadcastReceiver
35
import android.content.Context
6+
import android.content.Context.RECEIVER_EXPORTED
7+
import android.content.Intent
8+
import android.content.IntentFilter
9+
import android.os.Build
10+
import android.os.Handler
411
import android.os.UserHandle
512

613
val Context.userId: Int
@@ -11,4 +18,27 @@ val Context.userId: Int
1118
val Context.user: UserHandle
1219
get() {
1320
return this::class.java.getMethod("getUser").invoke(this) as UserHandle
14-
}
21+
}
22+
23+
@SuppressLint("UnspecifiedRegisterReceiverFlag")
24+
fun Context.registerReceiverCompat(receiver: BroadcastReceiver, intentFilter: IntentFilter) {
25+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
26+
registerReceiver(receiver, intentFilter, RECEIVER_EXPORTED)
27+
}else{
28+
registerReceiver(receiver, intentFilter)
29+
}
30+
}
31+
32+
@SuppressLint("UnspecifiedRegisterReceiverFlag")
33+
fun Context.registerReceiverCompat(
34+
receiver: BroadcastReceiver,
35+
filter: IntentFilter,
36+
broadcastPermission: String?,
37+
scheduler: Handler?
38+
): Intent? {
39+
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
40+
registerReceiver(receiver, filter, broadcastPermission, scheduler, RECEIVER_EXPORTED)
41+
}else{
42+
registerReceiver(receiver, filter, broadcastPermission, scheduler)
43+
}
44+
}

app/build.gradle

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ plugins {
77
id 'com.google.android.gms.oss-licenses-plugin'
88
}
99

10-
def version = '1.7.1'
10+
def version = '1.7.2'
1111

1212
android {
1313
compileSdk 34
1414

1515
defaultConfig {
1616
applicationId "com.kieronquinn.app.classicpowermenu"
1717
minSdk 30
18-
targetSdk 33
19-
versionCode 171
18+
targetSdk 34
19+
versionCode 172
2020
versionName version
2121

2222
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -67,7 +67,7 @@ protobuf {
6767

6868
dependencies {
6969
//AndroidX
70-
def lifecycle_version = "2.6.2"
70+
def lifecycle_version = "2.7.0"
7171
implementation 'androidx.core:core-ktx:1.12.0'
7272
implementation 'androidx.appcompat:appcompat:1.6.1'
7373
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
@@ -76,13 +76,13 @@ dependencies {
7676
implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
7777
implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
7878
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
79-
implementation 'androidx.work:work-runtime-ktx:2.8.1'
79+
implementation 'androidx.work:work-runtime-ktx:2.9.0'
8080
implementation "androidx.core:core-splashscreen:1.0.1"
8181
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
8282
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
8383

8484
//Material
85-
implementation 'com.google.android.material:material:1.10.0'
85+
implementation 'com.google.android.material:material:1.11.0'
8686

8787
//Monet
8888
implementation 'com.github.KieronQuinn:MonetCompat:0.4.1'
@@ -91,7 +91,7 @@ dependencies {
9191
implementation "io.insert-koin:koin-android:$koin_version"
9292

9393
//Protobuf
94-
implementation "com.google.protobuf:protobuf-javalite:3.21.9"
94+
implementation "com.google.protobuf:protobuf-javalite:3.25.2"
9595

9696
//Guava for hashing code (to match what Gpay uses)
9797
implementation 'com.google.guava:guava:30.1.1-android'
@@ -110,16 +110,16 @@ dependencies {
110110

111111
//zxing for barcode/QR preview
112112
implementation 'com.google.zxing:core:3.4.1'
113-
implementation 'com.journeyapps:zxing-android-embedded:4.1.0@aar'
113+
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
114114

115115
//libsu for root operations
116-
def libsuVersion = '5.0.3'
116+
def libsuVersion = '5.2.2'
117117
implementation "com.github.topjohnwu.libsu:core:${libsuVersion}"
118118
implementation "com.github.topjohnwu.libsu:service:${libsuVersion}"
119119
implementation "com.github.topjohnwu.libsu:io:${libsuVersion}"
120120

121121
//Shizuku for helpful system service code (wallet/controls don't work with just Shizuku)
122-
def shizuku_version = '12.1.0'
122+
def shizuku_version = '13.1.5'
123123
implementation "dev.rikka.shizuku:api:$shizuku_version"
124124

125125
//Xposed
@@ -134,7 +134,7 @@ dependencies {
134134

135135
//Other third party
136136
implementation 'org.lsposed.hiddenapibypass:hiddenapibypass:4.3'
137-
implementation 'com.airbnb.android:lottie:5.2.0'
137+
implementation 'com.airbnb.android:lottie:6.3.0'
138138
implementation 'com.jakewharton:process-phoenix:2.1.2'
139139
implementation 'me.saket:better-link-movement-method:2.2.0'
140140
implementation "io.noties.markwon:core:4.6.2"

app/src/main/java/com/kieronquinn/app/classicpowermenu/ui/screens/settings/update/UpdateDownloadBottomSheetViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import android.os.Looper
1313
import androidx.core.content.FileProvider
1414
import androidx.lifecycle.ViewModel
1515
import androidx.lifecycle.viewModelScope
16+
import com.android.systemui.util.extensions.registerReceiverCompat
1617
import com.kieronquinn.app.classicpowermenu.BuildConfig
1718
import com.kieronquinn.app.classicpowermenu.R
1819
import com.kieronquinn.app.classicpowermenu.components.github.UpdateChecker
@@ -120,7 +121,7 @@ class UpdateDownloadBottomSheetViewModelImpl(context: Context): UpdateDownloadBo
120121
mkdirs()
121122
}
122123
downloadFile = File(downloadFolder, fileName)
123-
context.registerReceiver(downloadStateReceiver, IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE))
124+
context.registerReceiverCompat(downloadStateReceiver, IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE))
124125
context.contentResolver.registerContentObserver(Uri.parse("content://downloads/my_downloads"), true, downloadObserver)
125126
requestId = DownloadManager.Request(Uri.parse(url)).apply {
126127
setDescription(context.getString(R.string.download_manager_description))

0 commit comments

Comments
 (0)