Merge "Use a configurable default if the setting has never been set."
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 3817730..94e73fa 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -48,7 +48,6 @@
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
-import com.android.settings.accessibility.AccessibilityUtil.State;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.display.DarkUIPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -75,6 +74,8 @@
// Index of the first preference in a preference category.
private static final int FIRST_PREFERENCE_IN_CATEGORY_INDEX = -1;
+ private static final String EMPTY_STRING = "";
+
// Preference categories
private static final String CATEGORY_SCREEN_READER = "screen_reader_category";
private static final String CATEGORY_AUDIO_AND_CAPTIONS = "audio_and_captions_category";
@@ -255,22 +256,22 @@
}
public static CharSequence getServiceSummary(Context context, AccessibilityServiceInfo info,
- @State int state) {
+ boolean serviceEnabled) {
final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
- if (state == State.UNKNOWN) {
- return serviceSummary;
+ final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
+
+ if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
+ return TextUtils.isEmpty(serviceSummary) ? EMPTY_STRING : serviceSummary;
}
- final String serviceState = (state == State.ON)
+ final String serviceState = serviceEnabled
? context.getString(R.string.accessibility_summary_state_enabled)
: context.getString(R.string.accessibility_summary_state_disabled);
final String stateSummaryCombo = context.getString(
R.string.preference_summary_default_combination,
serviceState, serviceSummary);
- return (TextUtils.isEmpty(serviceSummary))
- ? serviceState
- : stateSummaryCombo;
+ return (TextUtils.isEmpty(serviceSummary)) ? serviceState : stateSummaryCombo;
}
@@ -377,18 +378,13 @@
description = getString(R.string.accessibility_service_default_description);
}
- final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
if (serviceEnabled && info.crashed) {
// Update the summaries for services that have crashed.
preference.setSummary(R.string.accessibility_summary_state_stopped);
description = getString(R.string.accessibility_description_state_stopped);
} else {
- int serviceState = serviceEnabled ? State.ON : State.OFF;
- if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
- serviceState = State.UNKNOWN;
- }
final CharSequence serviceSummary = getServiceSummary(getContext(), info,
- serviceState);
+ serviceEnabled);
preference.setSummary(serviceSummary);
}
@@ -408,6 +404,7 @@
preference.setEnabled(true);
}
+ final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
switch (fragmentType) {
case AccessibilityServiceFragmentType.LEGACY:
preference.setFragment(
diff --git a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
index 17c6016..ca3befa 100644
--- a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
@@ -18,7 +18,6 @@
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
-import static com.android.settings.accessibility.AccessibilityUtil.State.UNKNOWN;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.ComponentName;
@@ -27,7 +26,6 @@
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
-import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.accessibility.AccessibilityUtils;
@@ -59,13 +57,9 @@
@Override
public CharSequence getSummary() {
final AccessibilityServiceInfo serviceInfo = getAccessibilityServiceInfo();
- int serviceState = isChecked() ? ON : OFF;
- if (AccessibilityUtil.getAccessibilityServiceFragmentType(serviceInfo)
- == AccessibilityServiceFragmentType.INVISIBLE) {
- serviceState = UNKNOWN;
- }
+
return serviceInfo == null ? EMPTY_STRING : AccessibilitySettings.getServiceSummary(
- mContext, serviceInfo, serviceState);
+ mContext, serviceInfo, isChecked());
}
@Override
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index 6159f92..8da6fbb 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -98,7 +98,6 @@
/** Denotes the accessibility enabled status */
@Retention(RetentionPolicy.SOURCE)
public @interface State {
- int UNKNOWN = -1;
int OFF = 0;
int ON = 1;
}
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index e58846c..19a0f2b 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -142,6 +142,9 @@
final SwitchBar switchBar = activity.getSwitchBar();
switchBar.hide();
+ // Need to be called as early as possible. Protected variables will be assigned here.
+ onProcessArguments(getArguments());
+
PreferenceScreen preferenceScreen = getPreferenceScreen();
if (mImageUri != null) {
final AnimatedImagePreference animatedImagePreference = new AnimatedImagePreference(
@@ -153,9 +156,13 @@
mToggleServiceDividerSwitchPreference = new DividerSwitchPreference(getPrefContext());
mToggleServiceDividerSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
+ if (getArguments().containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
+ final boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED);
+ mToggleServiceDividerSwitchPreference.setChecked(enabled);
+ }
+
preferenceScreen.addPreference(mToggleServiceDividerSwitchPreference);
- onProcessArguments(getArguments());
updateToggleServiceTitle(mToggleServiceDividerSwitchPreference);
final PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext());
@@ -343,12 +350,6 @@
// Key.
mPreferenceKey = arguments.getString(AccessibilitySettings.EXTRA_PREFERENCE_KEY);
- // Enabled.
- if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
- final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
- mToggleServiceDividerSwitchPreference.setChecked(enabled);
- }
-
// Title.
if (arguments.containsKey(AccessibilitySettings.EXTRA_RESOLVE_INFO)) {
ResolveInfo info = arguments.getParcelable(AccessibilitySettings.EXTRA_RESOLVE_INFO);
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCard.java b/src/com/android/settings/homepage/contextualcards/ContextualCard.java
index 0269c0e..262cd2f 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCard.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCard.java
@@ -115,10 +115,6 @@
return mIsLargeCard;
}
- boolean isCustomCard() {
- return TextUtils.isEmpty(mSliceUri);
- }
-
public int getViewType() {
return mViewType;
}
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
index 17a226d..40df224 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
@@ -112,9 +112,7 @@
if (cursor.getCount() > 0) {
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
final ContextualCard card = new ContextualCard(cursor);
- if (card.isCustomCard()) {
- //TODO(b/114688391): Load and generate custom card,then add into list
- } else if (isLargeCard(card)) {
+ if (isLargeCard(card)) {
result.add(card.mutate().setIsLargeCard(true).build());
} else {
result.add(card);
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index 8558ee7..0fcde26 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -88,9 +88,6 @@
if (card.getRankingScore() < 0) {
return false;
}
- if (card.isCustomCard()) {
- return true;
- }
final Uri uri = card.getSliceUri();
if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
diff --git a/src/com/android/settings/notification/history/NotificationHistoryAdapter.java b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
index 87804d5..4448dee 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
@@ -63,7 +63,8 @@
holder.setTitle(hn.getTitle());
holder.setSummary(hn.getText());
holder.setPostedTime(hn.getPostedTimeMs());
- holder.addOnClick(hn.getPackage(), hn.getUserId(), hn.getChannelId());
+ holder.addOnClick(hn.getPackage(), hn.getUserId(), hn.getChannelId(),
+ hn.getConversationId());
}
@Override
diff --git a/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java b/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java
index e7caa6a..d1f47af 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java
@@ -18,6 +18,7 @@
import static android.provider.Settings.EXTRA_APP_PACKAGE;
import static android.provider.Settings.EXTRA_CHANNEL_ID;
+import static android.provider.Settings.EXTRA_CONVERSATION_ID;
import android.content.Intent;
import android.os.UserHandle;
@@ -61,11 +62,12 @@
mTime.setTime(postedTime);
}
- void addOnClick(String pkg, int userId, String channelId) {
+ void addOnClick(String pkg, int userId, String channelId, String conversationId) {
itemView.setOnClickListener(v -> {
Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
.putExtra(EXTRA_APP_PACKAGE, pkg)
- .putExtra(EXTRA_CHANNEL_ID, channelId);
+ .putExtra(EXTRA_CHANNEL_ID, channelId)
+ .putExtra(EXTRA_CONVERSATION_ID, conversationId);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
itemView.getContext().startActivityAsUser(intent, UserHandle.of(userId));
});
diff --git a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
index ce036d2..852f286 100644
--- a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
+++ b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
@@ -20,6 +20,7 @@
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
+import android.util.EventLog;
import android.util.Log;
import com.android.settings.bluetooth.BluetoothSliceBuilder;
@@ -73,6 +74,11 @@
private static Uri parse(Uri uri) {
final String sliceParameter = uri.getQueryParameter(EXTRA_SLICE);
- return TextUtils.isEmpty(sliceParameter) ? null : Uri.parse(sliceParameter);
+ if (TextUtils.isEmpty(sliceParameter)) {
+ EventLog.writeEvent(0x534e4554, "122836081", -1, "");
+ return null;
+ } else {
+ return Uri.parse(sliceParameter);
+ }
}
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java
index 6d0d964..53f6cc0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java
@@ -18,7 +18,6 @@
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
-import static com.android.settings.accessibility.AccessibilityUtil.State.UNKNOWN;
import static com.google.common.truth.Truth.assertThat;
@@ -77,7 +76,7 @@
mController.setChecked(true);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, UNKNOWN,
+ Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, OFF,
UserHandle.USER_CURRENT)).isEqualTo(ON);
}
@@ -86,7 +85,7 @@
mController.setChecked(false);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, UNKNOWN,
+ Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, ON,
UserHandle.USER_CURRENT)).isEqualTo(OFF);
}
}
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
index 3777920..23ae2f3 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
@@ -76,18 +76,6 @@
}
@Test
- public void isCardEligibleToDisplay_customCard_returnTrue() {
- final ContextualCard customCard = new ContextualCard.Builder()
- .setName("custom_card")
- .setCardType(ContextualCard.CardType.DEFAULT)
- .setTitleText("custom_title")
- .setSummaryText("custom_summary")
- .build();
-
- assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue();
- }
-
- @Test
public void isCardEligibleToDisplay_invalidScheme_returnFalse() {
final Uri sliceUri = Uri.parse("contet://com.android.settings.slices/action/flashlight");