Merge "Improve multi user settings screen" into rvc-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1542314..9bc9b5e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7312,6 +7312,9 @@
<!-- Summary of multimedia messaging service settings. [CHAR LIMIT=100] -->
<string name="mms_message_summary">Send & receive when mobile data is off</string>
+ <!-- Cell broacast receiver package name [DO NOT TRANSLATE] -->
+ <string name="cell_broadcast_receiver_package">com.android.cellbroadcastreceiver</string>
+
<!-- Title of a preference for whether to allow data during calls that is shown when mobile
data is turned off. This is needed for some multi-SIM scenarios, because the SIM that is
default for data might not be available during a phone call. [CHAR LIMIT=60] -->
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
index f75bd86..b499180 100644
--- a/res/xml/app_and_notification.xml
+++ b/res/xml/app_and_notification.xml
@@ -82,7 +82,7 @@
settings:useAdminDisabledSummary="true">
<intent
android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.cellbroadcastreceiver"
+ android:targetPackage="@string/cell_broadcast_receiver_package"
android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings"/>
</com.android.settingslib.RestrictedPreference>
diff --git a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
index 7add167..de7e780 100644
--- a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
+++ b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
@@ -24,6 +24,7 @@
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
+import com.android.internal.telephony.CellBroadcastUtils;
import com.android.settings.accounts.AccountRestrictionHelper;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
@@ -88,7 +89,9 @@
com.android.internal.R.bool.config_cellBroadcastAppLinks);
if (enabled) {
try {
- if (mPm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver")
+ String packageName = CellBroadcastUtils
+ .getDefaultCellBroadcastReceiverPackageName(mContext);
+ if (packageName == null || mPm.getApplicationEnabledSetting(packageName)
== PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
enabled = false; // CMAS app disabled
}
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
index a0b1057..4b045e2 100644
--- a/src/com/android/settings/notification/RemoteVolumeGroupController.java
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -23,8 +23,6 @@
import android.util.Log;
import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
@@ -32,7 +30,8 @@
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnDestroy;
import com.android.settingslib.media.LocalMediaManager;
import com.android.settingslib.media.MediaDevice;
import com.android.settingslib.media.MediaOutputSliceConstants;
@@ -46,7 +45,8 @@
* {@link com.android.settings.notification.RemoteVolumeSeekBarPreference}
**/
public class RemoteVolumeGroupController extends BasePreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, LocalMediaManager.DeviceCallback {
+ Preference.OnPreferenceChangeListener, LifecycleObserver, OnDestroy,
+ LocalMediaManager.DeviceCallback {
private static final String KEY_REMOTE_VOLUME_GROUP = "remote_media_group";
private static final String TAG = "RemoteVolumePrefCtr";
@@ -93,11 +93,7 @@
}
}
- /**
- * onDestroy()
- * {@link androidx.lifecycle.OnLifecycleEvent}
- **/
- @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
+ @Override
public void onDestroy() {
mLocalMediaManager.unregisterCallback(this);
mLocalMediaManager.stopScan();
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 746a2df..9e7f3ed 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -190,7 +190,6 @@
controller.setCallback(mVolumeCallback);
getSettingsLifecycle().addObserver(controller);
}
- getSettingsLifecycle().addObserver(use(RemoteVolumeGroupController.class));
}
// === Volumes ===