Skip to content

Commit 70c21ad

Browse files
committed
Add flavor-specific registerReceiver
1 parent f5d2ec8 commit 70c21ad

4 files changed

Lines changed: 56 additions & 3 deletions

File tree

‎app/src/main/java/org/thunderdog/challegram/player/ProximityManager.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.thunderdog.challegram.tool.UI;
4343
import org.thunderdog.challegram.unsorted.Settings;
4444

45+
import tgx.flavor.Flavor;
4546
import tgx.td.Td;
4647

4748
@SuppressWarnings("deprecation")
@@ -197,7 +198,7 @@ private boolean registerProximitySensor () {
197198
BluetoothAdapter btAdapter = am.isBluetoothScoAvailableOffCall() ? BluetoothAdapter.getDefaultAdapter() : null;
198199
IntentFilter intentFilter = newIntentFilter(btAdapter);
199200
try {
200-
ContextCompat.registerReceiver(UI.getAppContext(), receiver, intentFilter, ContextCompat.RECEIVER_NOT_EXPORTED);
201+
Flavor.registerReceiver(UI.getAppContext(), receiver, intentFilter, false);
201202
} catch (Throwable t) {
202203
Log.e("Unable to register headset broadcast receiver", t);
203204
}

‎app/src/onlyLegacy/kotlin/tgx/flavor/LegacyFlavor.kt‎

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
@file:JvmName("Flavor")
2+
@file:JvmMultifileClass
3+
14
package tgx.flavor
25

36
import android.app.Application
7+
import android.content.BroadcastReceiver
8+
import android.content.Context
9+
import android.content.Intent
10+
import android.content.IntentFilter
11+
import android.os.Build
412
import androidx.multidex.MultiDexApplication
513
import com.google.android.gms.tasks.Task
614
import com.google.android.recaptcha.Recaptcha
@@ -11,4 +19,23 @@ typealias Barcode = com.google.mlkit.vision.barcode.Barcode
1119
typealias TgxApplication = MultiDexApplication
1220

1321
fun getRecaptchaTasksClient(application: Application, siteKey: String): Task<RecaptchaTasksClient> =
14-
Recaptcha.getTasksClient(application, siteKey)
22+
Recaptcha.getTasksClient(application, siteKey)
23+
24+
@Suppress("UnspecifiedRegisterReceiverFlag")
25+
fun registerReceiver(
26+
context: Context,
27+
receiver: BroadcastReceiver,
28+
intentFilter: IntentFilter,
29+
isExported: Boolean
30+
): Intent? {
31+
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
32+
val flags = if (isExported) {
33+
Context.RECEIVER_EXPORTED
34+
} else {
35+
Context.RECEIVER_NOT_EXPORTED
36+
}
37+
context.registerReceiver(receiver, intentFilter, flags)
38+
} else {
39+
context.registerReceiver(receiver, intentFilter)
40+
}
41+
}

‎app/src/sinceLollipop/kotlin/tgx/flavor/ModernFlavor.kt‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
@file:JvmName("Flavor")
2+
@file:JvmMultifileClass
3+
14
package tgx.flavor
25

36
import android.app.Application
7+
import android.content.BroadcastReceiver
8+
import android.content.Context
9+
import android.content.Intent
10+
import android.content.IntentFilter
11+
import androidx.core.content.ContextCompat
412
import com.google.android.gms.tasks.Task
513
import com.google.android.recaptcha.Recaptcha
614
import com.google.android.recaptcha.RecaptchaTasksClient
@@ -10,4 +18,18 @@ typealias Barcode = com.google.mlkit.vision.barcode.common.Barcode
1018
typealias TgxApplication = Application
1119

1220
fun getRecaptchaTasksClient(application: Application, siteKey: String): Task<RecaptchaTasksClient> =
13-
Recaptcha.fetchTaskClient(application, siteKey)
21+
Recaptcha.fetchTaskClient(application, siteKey)
22+
23+
fun registerReceiver(
24+
context: Context,
25+
receiver: BroadcastReceiver,
26+
intentFilter: IntentFilter,
27+
isExported: Boolean
28+
): Intent? {
29+
val flags = if (isExported) {
30+
ContextCompat.RECEIVER_EXPORTED
31+
} else {
32+
ContextCompat.RECEIVER_NOT_EXPORTED
33+
}
34+
return ContextCompat.registerReceiver(context, receiver, intentFilter, flags);
35+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@file:JvmName("Flavor")
2+
@file:JvmMultifileClass
3+
14
package tgx.flavor
25

36
typealias MediaExtractor = androidx.media3.inspector.MediaExtractorCompat

0 commit comments

Comments
 (0)