mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Null out context for all split controllers
* Destroy context for AppPairsController and SplitSelectDataHolder Bug: 302551868 Change-Id: I5636ecf50d51ad383ac89a457697984bc8d907ca
This commit is contained in:
@@ -61,7 +61,7 @@ public class AppPairsController {
|
||||
private static final int BITMASK_SIZE = 16;
|
||||
private static final int BITMASK_FOR_SNAP_POSITION = (1 << BITMASK_SIZE) - 1;
|
||||
|
||||
private final Context mContext;
|
||||
private Context mContext;
|
||||
private final SplitSelectStateController mSplitSelectStateController;
|
||||
private final StatsLogManager mStatsLogManager;
|
||||
public AppPairsController(Context context,
|
||||
@@ -72,6 +72,10 @@ public class AppPairsController {
|
||||
mStatsLogManager = statsLogManager;
|
||||
}
|
||||
|
||||
void onDestroy() {
|
||||
mContext = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new app pair ItemInfo and adds it to the workspace
|
||||
*/
|
||||
|
||||
@@ -54,7 +54,7 @@ import java.io.PrintWriter
|
||||
* state
|
||||
*/
|
||||
class SplitSelectDataHolder(
|
||||
val context: Context
|
||||
var context: Context?
|
||||
) {
|
||||
val TAG = SplitSelectDataHolder::class.simpleName
|
||||
|
||||
@@ -100,6 +100,10 @@ class SplitSelectDataHolder(
|
||||
private var initialShortcut: ShortcutInfo? = null
|
||||
private var secondShortcut: ShortcutInfo? = null
|
||||
|
||||
fun onDestroy() {
|
||||
context = null
|
||||
}
|
||||
|
||||
/**
|
||||
* @param alreadyRunningTask if set to [android.app.ActivityTaskManager.INVALID_TASK_ID]
|
||||
* then @param intent will be used to launch the initial task
|
||||
@@ -164,18 +168,15 @@ class SplitSelectDataHolder(
|
||||
}
|
||||
|
||||
private fun getShortcutInfo(intent: Intent?, user: UserHandle?): ShortcutInfo? {
|
||||
val intentPackage = intent?.getPackage()
|
||||
if (intentPackage == null) {
|
||||
return null
|
||||
}
|
||||
val intentPackage = intent?.getPackage() ?: return null
|
||||
val shortcutId = intent.getStringExtra(ShortcutKey.EXTRA_SHORTCUT_ID)
|
||||
?: return null
|
||||
try {
|
||||
val context: Context =
|
||||
if (user != null) {
|
||||
context.createPackageContextAsUser(intentPackage, 0 /* flags */, user)
|
||||
context!!.createPackageContextAsUser(intentPackage, 0 /* flags */, user)
|
||||
} else {
|
||||
context.createPackageContext(intentPackage, 0 /* *flags */)
|
||||
context!!.createPackageContext(intentPackage, 0 /* *flags */)
|
||||
}
|
||||
return ShortcutInfo.Builder(context, shortcutId).build()
|
||||
} catch (e: PackageManager.NameNotFoundException) {
|
||||
|
||||
@@ -186,6 +186,8 @@ public class SplitSelectStateController {
|
||||
public void onDestroy() {
|
||||
mContext = null;
|
||||
mActivityBackCallback = null;
|
||||
mAppPairsController.onDestroy();
|
||||
mSplitSelectDataHolder.onDestroy();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user