summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/strings.xml4
-rw-r--r--src/com/android/settings/network/telephony/DefaultSubscriptionController.java5
-rw-r--r--src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java2
-rw-r--r--src/com/android/settings/notification/ZenRulePreference.java6
-rw-r--r--tests/robotests/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java22
5 files changed, 33 insertions, 6 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c7bb7b53d4..6e92a3d661 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5108,7 +5108,7 @@
<!-- Title for a warning about security implications of enabling an accessibility
service. [CHAR LIMIT=NONE] -->
<string name="enable_service_title">Allow
- <xliff:g id="service" example="TalkBack">%1$s</xliff:g> to have full contol of your
+ <xliff:g id="service" example="TalkBack">%1$s</xliff:g> to have full control of your
device?</string>
<!-- Title for the list of capabilities of an accessibility service. -->
<string name="capabilities_list_title"><xliff:g id="service" example="TalkBack">%1$s</xliff:g>
@@ -5165,7 +5165,7 @@
</string>
<!-- Title for the action perform in accessibility dialog. [CHAR LIMIT=NONE] -->
- <string name="accessibility_service_action_perform_title">View and platform actions</string>
+ <string name="accessibility_service_action_perform_title">View and perform actions</string>
<!-- Description for the action perform in accessibility dialog. [CHAR LIMIT=NONE] -->
<string name="accessibility_service_action_perform_description">It can track your interactions
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 02a2d58c00..9eb5f8c495 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -121,6 +121,11 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
}
mPreference.setVisible(true);
+ // TODO(b/135142209) - for now we need to manually ensure we're registered as a change
+ // listener, because this might not have happened during displayPreference if
+ // getAvailabilityStatus returned CONDITIONALLY_UNAVAILABLE at the time.
+ mPreference.setOnPreferenceChangeListener(this);
+
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
// We'll have one entry for each available subscription, plus one for a "ask me every
diff --git a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
index 499bfbc2fe..2f62f4539b 100644
--- a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
@@ -69,7 +69,7 @@ public class ZenModeAutomaticRulesPreferenceController extends
for (int i = 0; i < sortedRules.length; i++) {
ZenRulePreference pref = (ZenRulePreference) mPreferenceCategory.getPreference(i);
// we are either:
- // 1. updating the enabled state or name of the rule
+ // 1. updating everything about the rule
// 2. rule was added or deleted, so reload the entire list
if (Objects.equals(pref.mId, sortedRules[i].getKey())) {
AutomaticZenRule rule = sortedRules[i].getValue();
diff --git a/src/com/android/settings/notification/ZenRulePreference.java b/src/com/android/settings/notification/ZenRulePreference.java
index 8bc602a9c9..fb6e92a634 100644
--- a/src/com/android/settings/notification/ZenRulePreference.java
+++ b/src/com/android/settings/notification/ZenRulePreference.java
@@ -49,7 +49,7 @@ public class ZenRulePreference extends TwoTargetPreference {
final ZenServiceListing mServiceListing;
final PackageManager mPm;
final MetricsFeatureProvider mMetricsFeatureProvider;
- final AutomaticZenRule mRule;
+ AutomaticZenRule mRule;
CharSequence mName;
private Intent mIntent;
@@ -122,14 +122,14 @@ public class ZenRulePreference extends TwoTargetPreference {
if (!mRule.getName().equals(rule.getName())) {
mName = rule.getName();
setTitle(mName);
- mRule.setName(mName.toString());
}
if (mRule.isEnabled() != rule.isEnabled()) {
- mRule.setEnabled(rule.isEnabled());
setChecked(mRule.isEnabled());
setSummary(computeRuleSummary(mRule));
}
+
+ mRule = rule;
}
@Override
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
index 7dd636a4ab..dbdad505d3 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
@@ -204,6 +204,28 @@ public class DefaultSubscriptionControllerTest {
}
@Test
+ public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
+ final SubscriptionInfo sub1 = createMockSub(111, "sub1");
+ final SubscriptionInfo sub2 = createMockSub(222, "sub2");
+
+ // Start with only one sub active, so the pref is not available
+ SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
+ doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
+
+ mController.displayPreference(mScreen);
+ assertThat(mController.isAvailable()).isFalse();
+
+ // Now make two subs be active - the pref should become available, and the
+ // onPreferenceChange callback should be properly wired up.
+ SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
+ mController.onSubscriptionsChanged();
+ assertThat(mController.isAvailable()).isTrue();
+ assertThat(mListPreference.getOnPreferenceChangeListener()).isEqualTo(mController);
+ mListPreference.callChangeListener("222");
+ verify(mController).setDefaultSubscription(eq(222));
+ }
+
+ @Test
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
final SubscriptionInfo sub2 = createMockSub(222, "sub2");