diff --git a/app/src/basic/kotlin/org/fdroid/AppFull.kt b/app/src/basic/kotlin/org/fdroid/AppFull.kt new file mode 100644 index 000000000..6005ecf1f --- /dev/null +++ b/app/src/basic/kotlin/org/fdroid/AppFull.kt @@ -0,0 +1,10 @@ +package org.fdroid + +import android.content.Context; + +/** In the basic flavor, this class is just a placeholder. */ +class AppFull { + companion object { + fun onCreate(context: Context) = println() + } +} diff --git a/app/src/full/java/org/fdroid/fdroid/nearby/SwapService.java b/app/src/full/java/org/fdroid/fdroid/nearby/SwapService.java index bdb300780..e84c35e98 100644 --- a/app/src/full/java/org/fdroid/fdroid/nearby/SwapService.java +++ b/app/src/full/java/org/fdroid/fdroid/nearby/SwapService.java @@ -363,8 +363,6 @@ public class SwapService extends Service { @Nullable private Timer timer; - private final WifiStateChangeReceiver wifiStateChangeReceiver = new WifiStateChangeReceiver(); - public class Binder extends android.os.Binder { public SwapService getService() { return SwapService.this; @@ -375,8 +373,6 @@ public class SwapService extends Service { public void onCreate() { super.onCreate(); startForeground(NOTIFICATION, createNotification()); - WifiStateChangeService.start(this, null); - WifiStateChangeService.registerReceiver(this, wifiStateChangeReceiver); localBroadcastManager = LocalBroadcastManager.getInstance(this); swapPreferences = getSharedPreferences(SHARED_PREFERENCES, Context.MODE_PRIVATE); @@ -486,7 +482,6 @@ public class SwapService extends Service { @Override public void onDestroy() { Utils.debugLog(TAG, "Destroying service, will disable swapping if required, and unregister listeners."); - WifiStateChangeService.unregisterReceiver(this, wifiStateChangeReceiver); Preferences.get().unregisterLocalRepoHttpsListeners(httpsEnabledListener); localBroadcastManager.unregisterReceiver(onWifiChange); localBroadcastManager.unregisterReceiver(bluetoothPeerFound); diff --git a/app/src/full/java/org/fdroid/fdroid/nearby/WifiStateChangeService.java b/app/src/full/java/org/fdroid/fdroid/nearby/WifiStateChangeService.java index 39af3b174..a7e756c49 100644 --- a/app/src/full/java/org/fdroid/fdroid/nearby/WifiStateChangeService.java +++ b/app/src/full/java/org/fdroid/fdroid/nearby/WifiStateChangeService.java @@ -84,18 +84,14 @@ public class WifiStateChangeService extends Worker { super(context, workerParams); } - public static void registerReceiver(Context context, WifiStateChangeReceiver wifiStateChangeReceiver) { + public static void registerReceiver(Context context) { ContextCompat.registerReceiver( context, - wifiStateChangeReceiver, + new WifiStateChangeReceiver(), new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION), ContextCompat.RECEIVER_NOT_EXPORTED); } - public static void unregisterReceiver(Context context, WifiStateChangeReceiver wifiStateChangeReceiver) { - context.unregisterReceiver(wifiStateChangeReceiver); - } - public static void start(Context context, @Nullable Intent intent) { int networkInfoStateInt = NETWORK_INFO_STATE_NOT_SET; if (intent != null) { diff --git a/app/src/full/kotlin/org/fdroid/AppFull.kt b/app/src/full/kotlin/org/fdroid/AppFull.kt new file mode 100644 index 000000000..eee3edc30 --- /dev/null +++ b/app/src/full/kotlin/org/fdroid/AppFull.kt @@ -0,0 +1,14 @@ +package org.fdroid + +import android.content.Context; +import org.fdroid.fdroid.nearby.WifiStateChangeService + +/** Wrapper class to isolate things only needed in the full flavor. */ +class AppFull { + companion object { + fun onCreate(context: Context) { + WifiStateChangeService.registerReceiver(context) + WifiStateChangeService.start(context, null) + } + } +} diff --git a/app/src/main/kotlin/org/fdroid/App.kt b/app/src/main/kotlin/org/fdroid/App.kt index b0bac13d0..c76248b76 100644 --- a/app/src/main/kotlin/org/fdroid/App.kt +++ b/app/src/main/kotlin/org/fdroid/App.kt @@ -26,6 +26,7 @@ import org.acra.config.dialog import org.acra.config.mailSender import org.acra.data.StringFormat.JSON import org.acra.ktx.initAcra +import org.fdroid.AppFull import org.fdroid.BuildConfig.APPLICATION_ID import org.fdroid.BuildConfig.VERSION_NAME import org.fdroid.download.DownloadRequest @@ -106,6 +107,8 @@ class App : Application(), Configuration.Provider, SingletonImageLoader.Factory RepoUpdateWorker.scheduleOrCancel(applicationContext, settingsManager.repoUpdates) AppUpdateWorker.scheduleOrCancel(applicationContext, settingsManager.autoUpdateApps) + + AppFull.onCreate(applicationContext) } private fun isAcraProces(): Boolean {