diff --git a/res/color/dream_card_color_state_list.xml b/res/color/dream_card_color_state_list.xml index 0799dc6fab0..b0c86bba121 100644 --- a/res/color/dream_card_color_state_list.xml +++ b/res/color/dream_card_color_state_list.xml @@ -17,8 +17,6 @@ - \ No newline at end of file diff --git a/res/color/dream_card_text_color_state_list.xml b/res/color/dream_card_text_color_state_list.xml index 2ca7a0fc915..438855fd233 100644 --- a/res/color/dream_card_text_color_state_list.xml +++ b/res/color/dream_card_text_color_state_list.xml @@ -17,8 +17,6 @@ - \ No newline at end of file diff --git a/src/com/android/settings/dream/DreamAdapter.java b/src/com/android/settings/dream/DreamAdapter.java index 27c32dfbe79..ea64e8dd1d8 100644 --- a/src/com/android/settings/dream/DreamAdapter.java +++ b/src/com/android/settings/dream/DreamAdapter.java @@ -50,14 +50,13 @@ public class DreamAdapter extends RecyclerView.Adapter * View holder for each {@link IDreamItem}. */ private class DreamViewHolder extends RecyclerView.ViewHolder { - private static final int VALUE_ENABLED_ALPHA = 255; private final TextView mTitleView; private final TextView mSummaryView; private final ImageView mPreviewView; private final ImageView mPreviewPlaceholderView; private final Button mCustomizeButton; private final Context mContext; - private final int mDisabledAlphaValue; + private final float mDisabledAlphaValue; DreamViewHolder(View view, Context context) { super(view); @@ -67,7 +66,7 @@ public class DreamAdapter extends RecyclerView.Adapter mTitleView = view.findViewById(R.id.title_text); mSummaryView = view.findViewById(R.id.summary_text); mCustomizeButton = view.findViewById(R.id.customize_button); - mDisabledAlphaValue = (int) (ColorUtil.getDisabledAlpha(context) * VALUE_ENABLED_ALPHA); + mDisabledAlphaValue = ColorUtil.getDisabledAlpha(context); } /** @@ -93,7 +92,6 @@ public class DreamAdapter extends RecyclerView.Adapter mPreviewView.setImageDrawable(null); mPreviewPlaceholderView.setVisibility(View.VISIBLE); } - mPreviewView.setImageAlpha(getAlpha()); final Drawable icon = item.isActive() ? mContext.getDrawable(R.drawable.ic_dream_check_circle) @@ -105,7 +103,6 @@ public class DreamAdapter extends RecyclerView.Adapter final int iconSize = mContext.getResources().getDimensionPixelSize( R.dimen.dream_item_icon_size); icon.setBounds(0, 0, iconSize, iconSize); - icon.setAlpha(getAlpha()); mTitleView.setCompoundDrawablesRelative(icon, null, null, null); if (item.isActive()) { @@ -130,10 +127,6 @@ public class DreamAdapter extends RecyclerView.Adapter setEnabledStateOnViews(itemView, mEnabled); } - private int getAlpha() { - return mEnabled ? VALUE_ENABLED_ALPHA : mDisabledAlphaValue; - } - /** * Makes sure the view (and any children) get the enabled state changed. */ @@ -145,6 +138,8 @@ public class DreamAdapter extends RecyclerView.Adapter for (int i = vg.getChildCount() - 1; i >= 0; i--) { setEnabledStateOnViews(vg.getChildAt(i), enabled); } + } else { + v.setAlpha(enabled ? 1 : mDisabledAlphaValue); } } } diff --git a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java index 70f738395be..bcc55e3a2db 100644 --- a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java +++ b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java @@ -17,11 +17,8 @@ package com.android.settings.localepicker; import android.app.FragmentTransaction; -import android.app.LocaleManager; import android.content.Intent; import android.os.Bundle; -import android.os.LocaleList; -import android.util.Log; import android.view.MenuItem; import com.android.internal.app.LocalePickerWithRegion; @@ -34,7 +31,6 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity implements LocalePickerWithRegion.LocaleSelectedListener { private static final String PARENT_FRAGMENT_NAME = "localeListEditor"; - private static final String TAG = "Calvin"; @Override public void onCreate(Bundle savedInstanceState) { @@ -51,25 +47,6 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity .commit(); } - public void setAppDefaultLocale(String languageTag) { - if (languageTag.isEmpty()) { - Log.w(TAG, "[setAppDefaultLocale] No language tag."); - return; - } - setAppDefaultLocale(LocaleList.forLanguageTags(languageTag)); - } - - /** Sets per app's default language to system. */ - public void setAppDefaultLocale(LocaleList localeList) { - LocaleManager mLocaleManager = getSystemService(LocaleManager.class); - if (mLocaleManager == null) { - Log.w(TAG, "LocaleManager is null, and cannot set the app locale up."); - return; - } - mLocaleManager.setApplicationLocales("com.android.vending", localeList); - } - - @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { @@ -81,16 +58,9 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity @Override public void onLocaleSelected(LocaleStore.LocaleInfo locale) { - /*final Intent intent = new Intent(); + final Intent intent = new Intent(); intent.putExtra(LocaleListEditor.INTENT_LOCALE_KEY, locale); - setResult(RESULT_OK, intent);*/ - if(locale != null) { - Log.d("Calvin", "onLocaleSelected " + locale.getLocale().toLanguageTag()); - setAppDefaultLocale(locale.getLocale().toLanguageTag()); - } else { - Log.d("Calvin", "onLocaleSelected null"); - setAppDefaultLocale(""); - } + setResult(RESULT_OK, intent); finish(); } diff --git a/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java index bf700804634..f6997c6f433 100644 --- a/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java +++ b/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java @@ -19,9 +19,6 @@ package com.android.settings.notification.zen; import android.app.AutomaticZenRule; import android.content.Context; import android.os.Bundle; -import android.util.Slog; - -import androidx.preference.Preference; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -37,23 +34,19 @@ abstract class AbstractZenCustomRulePreferenceController extends super(context, key, lifecycle); } - @Override - public void updateState(Preference preference) { - if (mId != null) { - mRule = mBackend.getAutomaticZenRule(mId); - } - } - @Override public boolean isAvailable() { return mRule != null; } - public void onResume(AutomaticZenRule rule, String id) { + public void setIdAndRule(String id, AutomaticZenRule rule) { mId = id; mRule = rule; } + public void onResume() { + } + Bundle createBundle() { Bundle bundle = new Bundle(); bundle.putString(ZenCustomRuleSettings.RULE_ID, mId); diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java b/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java index 28a3046b608..b417e032915 100644 --- a/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java +++ b/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java @@ -37,10 +37,11 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase { String mId; AutomaticZenRule mRule; List mControllers = new ArrayList<>(); + private boolean mIsFirstLaunch = true; /** * @return null if no preference category exists - */ + */ abstract String getPreferenceCategoryKey(); @Override @@ -49,7 +50,7 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase { Bundle bundle = getArguments(); if (bundle != null && bundle.containsKey(RULE_ID)) { mId = bundle.getString(RULE_ID); - mRule = mBackend.getAutomaticZenRule(mId); + updateRule(); } else { Log.d(TAG, "Rule id required to set custom dnd rule config settings"); this.finish(); @@ -57,13 +58,32 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase { } @Override - public void onZenModeConfigChanged() { - super.onZenModeConfigChanged(); + public void onResume() { + super.onResume(); updatePreferences(); } - public void updatePreferences() { + @Override + public void onZenModeConfigChanged() { + super.onZenModeConfigChanged(); + updatePreferences(); + updatePreferenceStates(); + } + + private void updateRule() { mRule = mBackend.getAutomaticZenRule(mId); + for (AbstractPreferenceController controller : mControllers) { + AbstractZenCustomRulePreferenceController zenRuleController = + (AbstractZenCustomRulePreferenceController) controller; + zenRuleController.setIdAndRule(mId, mRule); + } + } + + public void updatePreferences() { + if (!mIsFirstLaunch) { + updateRule(); + } + final PreferenceScreen screen = getPreferenceScreen(); String categoryKey = getPreferenceCategoryKey(); if (categoryKey != null) { @@ -78,10 +98,15 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase { for (AbstractPreferenceController controller : mControllers) { AbstractZenCustomRulePreferenceController zenRuleController = (AbstractZenCustomRulePreferenceController) controller; - zenRuleController.onResume(mRule, mId); - zenRuleController.displayPreference(screen); - updatePreference(zenRuleController); + zenRuleController.onResume(); + if (!mIsFirstLaunch) { + // In first launch, displayPreference() is already called in DashboardFragment's + // onCreate(). + zenRuleController.displayPreference(screen); + } } + + mIsFirstLaunch = false; } @Override @@ -89,12 +114,6 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase { return R.string.help_uri_interruptions; } - @Override - public void onResume() { - super.onResume(); - updatePreferences(); - } - Bundle createZenRuleBundle() { Bundle bundle = new Bundle(); bundle.putString(RULE_ID, mId); diff --git a/src/com/android/settings/notification/zen/ZenRulePrioritySendersPreferenceController.java b/src/com/android/settings/notification/zen/ZenRulePrioritySendersPreferenceController.java index cee496ee8b0..8f5e0e10bb3 100644 --- a/src/com/android/settings/notification/zen/ZenRulePrioritySendersPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenRulePrioritySendersPreferenceController.java @@ -18,7 +18,6 @@ package com.android.settings.notification.zen; import static com.android.settings.notification.zen.ZenPrioritySendersHelper.UNKNOWN; -import android.app.AutomaticZenRule; import android.content.Context; import android.os.AsyncTask; import android.service.notification.ZenPolicy; @@ -79,8 +78,8 @@ public class ZenRulePrioritySendersPreferenceController } @Override - public void onResume(AutomaticZenRule rule, String id) { - super.onResume(rule, id); + public void onResume() { + super.onResume(); if (mIsMessages) { updateChannelCounts(); } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java index 8c9cfc0d91f..339ba8e2e79 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java @@ -20,8 +20,6 @@ import android.app.AutomaticZenRule; import android.app.NotificationManager; import android.service.notification.ZenPolicy; -import com.android.settings.notification.zen.AbstractZenCustomRulePreferenceController; - import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -37,6 +35,6 @@ abstract class ZenRuleCustomPrefContrTestBase { void updateControllerZenPolicy(ZenPolicy policy) { mRule.setZenPolicy(policy); - getController().onResume(mRule, RULE_ID); + getController().setIdAndRule(RULE_ID, mRule); } } diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java index 10eae066f2d..514b4f696a2 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java @@ -78,7 +78,7 @@ public class ZenRulePreferenceControllerTest { assertTrue(mController.mRule == null); assertTrue(mController.mId == null); - mController.onResume(rule, id); + mController.setIdAndRule(id, rule); assertEquals(mController.mId, id); assertEquals(mController.mRule, rule); diff --git a/tests/unit/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java b/tests/unit/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java index 53ad7c5995e..c26394389b3 100644 --- a/tests/unit/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java +++ b/tests/unit/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java @@ -35,6 +35,6 @@ abstract class ZenRuleCustomPrefContrTestBase { void updateControllerZenPolicy(ZenPolicy policy) { mRule.setZenPolicy(policy); - getController().onResume(mRule, RULE_ID); + getController().setIdAndRule(RULE_ID, mRule); } }