Controls UI - Reset seeding upon app uninstall
Don't make seeding a 'forever' decision. If the user comes back at some point in time, reseed the space. Bug: 155994616 Test: uninstall/reinstall Home Change-Id: Ib3f56fa7b9394ed80f02314f41fb8f19c519e6b9
This commit is contained in:
@@ -44,6 +44,7 @@ import com.android.systemui.controls.management.ControlsListingController
|
||||
import com.android.systemui.controls.ui.ControlsUiController
|
||||
import com.android.systemui.dagger.qualifiers.Background
|
||||
import com.android.systemui.dump.DumpManager
|
||||
import com.android.systemui.globalactions.GlobalActionsDialog
|
||||
import com.android.systemui.util.concurrency.DelayableExecutor
|
||||
import java.io.FileDescriptor
|
||||
import java.io.PrintWriter
|
||||
@@ -79,6 +80,7 @@ class ControlsControllerImpl @Inject constructor (
|
||||
}
|
||||
|
||||
private var userChanging: Boolean = true
|
||||
private var userStructure: UserStructure
|
||||
|
||||
private var seedingInProgress = false
|
||||
private val seedingCallbacks = mutableListOf<Consumer<Boolean>>()
|
||||
@@ -97,7 +99,7 @@ class ControlsControllerImpl @Inject constructor (
|
||||
internal var auxiliaryPersistenceWrapper: AuxiliaryPersistenceWrapper
|
||||
|
||||
init {
|
||||
val userStructure = UserStructure(context, currentUser)
|
||||
userStructure = UserStructure(context, currentUser)
|
||||
|
||||
persistenceWrapper = optionalWrapper.orElseGet {
|
||||
ControlsFavoritePersistenceWrapper(
|
||||
@@ -116,7 +118,7 @@ class ControlsControllerImpl @Inject constructor (
|
||||
private fun setValuesForUser(newUser: UserHandle) {
|
||||
Log.d(TAG, "Changing to user: $newUser")
|
||||
currentUser = newUser
|
||||
val userStructure = UserStructure(context, currentUser)
|
||||
userStructure = UserStructure(context, currentUser)
|
||||
persistenceWrapper.changeFileAndBackupManager(
|
||||
userStructure.file,
|
||||
BackupManager(userStructure.userContext)
|
||||
@@ -192,6 +194,16 @@ class ControlsControllerImpl @Inject constructor (
|
||||
it.componentName
|
||||
}.toSet()
|
||||
|
||||
// When a component is uninstalled, allow seeding to happen again if the user
|
||||
// reinstalls the app
|
||||
val prefs = userStructure.userContext.getSharedPreferences(
|
||||
GlobalActionsDialog.PREFS_CONTROLS_FILE, Context.MODE_PRIVATE)
|
||||
val completedSeedingPackageSet = prefs.getStringSet(
|
||||
GlobalActionsDialog.PREFS_CONTROLS_SEEDING_COMPLETED, mutableSetOf<String>())
|
||||
val favoritePackageSet = favoriteComponentSet.map { it.packageName }
|
||||
prefs.edit().putStringSet(GlobalActionsDialog.PREFS_CONTROLS_SEEDING_COMPLETED,
|
||||
completedSeedingPackageSet.intersect(favoritePackageSet)).apply()
|
||||
|
||||
var changed = false
|
||||
favoriteComponentSet.subtract(serviceInfoSet).forEach {
|
||||
changed = true
|
||||
|
||||
@@ -183,8 +183,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|
||||
static final String GLOBAL_ACTION_KEY_EMERGENCY = "emergency";
|
||||
static final String GLOBAL_ACTION_KEY_SCREENSHOT = "screenshot";
|
||||
|
||||
private static final String PREFS_CONTROLS_SEEDING_COMPLETED = "SeedingCompleted";
|
||||
private static final String PREFS_CONTROLS_FILE = "controls_prefs";
|
||||
public static final String PREFS_CONTROLS_SEEDING_COMPLETED = "SeedingCompleted";
|
||||
public static final String PREFS_CONTROLS_FILE = "controls_prefs";
|
||||
private static final int SEEDING_MAX = 2;
|
||||
|
||||
private final Context mContext;
|
||||
|
||||
Reference in New Issue
Block a user