Null out context for all split controllers

* Destroy context for AppPairsController and
SplitSelectDataHolder

Bug: 302551868
Change-Id: I5636ecf50d51ad383ac89a457697984bc8d907ca
This commit is contained in:
Vinit Nayak
2023-10-10 20:42:42 -07:00
parent 9f34a29d0e
commit a439c912d8
3 changed files with 15 additions and 8 deletions

View File

@@ -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
*/

View File

@@ -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) {

View File

@@ -186,6 +186,8 @@ public class SplitSelectStateController {
public void onDestroy() {
mContext = null;
mActivityBackCallback = null;
mAppPairsController.onDestroy();
mSplitSelectDataHolder.onDestroy();
}
/**