Merge "Use FooterPreference in xml explicitly"
This commit is contained in:
committed by
Android (Google) Code Review
commit
5eb2c963c0
@@ -29,20 +29,19 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.widget.FooterPreference;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class TimeZoneInfoPreferenceController extends BaseTimeZonePreferenceController {
|
||||
public class TimeZoneInfoPreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String PREFERENCE_KEY = FooterPreference.KEY_FOOTER;
|
||||
@VisibleForTesting
|
||||
Date mDate;
|
||||
private TimeZoneInfo mTimeZoneInfo;
|
||||
private final DateFormat mDateFormat;
|
||||
|
||||
public TimeZoneInfoPreferenceController(Context context) {
|
||||
super(context, PREFERENCE_KEY);
|
||||
public TimeZoneInfoPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mDateFormat = DateFormat.getDateInstance(SimpleDateFormat.LONG);
|
||||
mDateFormat.setContext(DisplayContext.CAPITALIZATION_NONE);
|
||||
mDate = new Date();
|
||||
@@ -50,24 +49,18 @@ public class TimeZoneInfoPreferenceController extends BaseTimeZonePreferenceCont
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return AVAILABLE;
|
||||
return mTimeZoneInfo != null ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
CharSequence formattedTimeZone = mTimeZoneInfo == null ? "" : formatInfo(mTimeZoneInfo);
|
||||
preference.setTitle(formattedTimeZone);
|
||||
preference.setVisible(mTimeZoneInfo != null);
|
||||
public CharSequence getSummary() {
|
||||
return mTimeZoneInfo == null ? "" : formatInfo(mTimeZoneInfo);
|
||||
}
|
||||
|
||||
public void setTimeZoneInfo(TimeZoneInfo timeZoneInfo) {
|
||||
mTimeZoneInfo = timeZoneInfo;
|
||||
}
|
||||
|
||||
public TimeZoneInfo getTimeZoneInfo() {
|
||||
return mTimeZoneInfo;
|
||||
}
|
||||
|
||||
private CharSequence formatOffsetAndName(TimeZoneInfo item) {
|
||||
String name = item.getGenericName();
|
||||
if (name == null) {
|
||||
@@ -130,5 +123,4 @@ public class TimeZoneInfoPreferenceController extends BaseTimeZonePreferenceCont
|
||||
} while (transition != null);
|
||||
return transition;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ import android.os.Looper;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
@@ -40,7 +39,7 @@ import com.android.settingslib.widget.FooterPreference;
|
||||
*/
|
||||
public class GameDriverFooterPreferenceController extends BasePreferenceController
|
||||
implements GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
|
||||
OnStart, OnStop {
|
||||
OnStart, OnStop {
|
||||
|
||||
private final ContentResolver mContentResolver;
|
||||
@VisibleForTesting
|
||||
@@ -48,8 +47,8 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
|
||||
|
||||
private FooterPreference mPreference;
|
||||
|
||||
public GameDriverFooterPreferenceController(Context context) {
|
||||
super(context, FooterPreference.KEY_FOOTER);
|
||||
public GameDriverFooterPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mContentResolver = context.getContentResolver();
|
||||
mGameDriverContentObserver =
|
||||
new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
|
||||
@@ -58,8 +57,8 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return Settings.Global.getInt(
|
||||
mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
|
||||
== GAME_DRIVER_OFF
|
||||
mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
|
||||
== GAME_DRIVER_OFF
|
||||
? AVAILABLE_UNSEARCHABLE
|
||||
: CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
@@ -80,11 +79,6 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
|
||||
mGameDriverContentObserver.unregister(mContentResolver);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
preference.setVisible(isAvailable());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGameDriverContentChanged() {
|
||||
updateState(mPreference);
|
||||
|
||||
@@ -19,26 +19,17 @@ package com.android.settings.display;
|
||||
import android.content.Context;
|
||||
import android.hardware.display.ColorDisplayManager;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settingslib.widget.FooterPreference;
|
||||
|
||||
public class NightDisplayFooterPreferenceController extends BasePreferenceController {
|
||||
|
||||
public NightDisplayFooterPreferenceController(Context context) {
|
||||
super(context, FooterPreference.KEY_FOOTER);
|
||||
public NightDisplayFooterPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return ColorDisplayManager.isNightDisplayAvailable(mContext) ? AVAILABLE
|
||||
: UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
preference.setTitle(R.string.night_display_text);
|
||||
return ColorDisplayManager.isNightDisplayAvailable(mContext)
|
||||
? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
import java.time.LocalTime;
|
||||
@@ -176,17 +175,6 @@ public class NightDisplaySettings extends DashboardFragment
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
|
||||
return buildPreferenceControllers(context);
|
||||
}
|
||||
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>(1);
|
||||
controllers.add(new NightDisplayFooterPreferenceController(context));
|
||||
return controllers;
|
||||
}
|
||||
|
||||
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
@@ -203,11 +191,5 @@ public class NightDisplaySettings extends DashboardFragment
|
||||
protected boolean isPageSearchEnabled(Context context) {
|
||||
return ColorDisplayManager.isNightDisplayAvailable(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AbstractPreferenceController> createPreferenceControllers(
|
||||
Context context) {
|
||||
return buildPreferenceControllers(context);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user