Integrate remote display routes into screen cast settings UI.
Merged remote display route selection into the existing wifi display preference UI. Moved the on/off toggle over to a menu item. The preference page is now mainly implemented in terms of the media router. It only interacts with the display manager for the purpose of pairing with new devices or making wifi display certification controls available. This means that the observed state is now completely consistent across the system ui, settings, and applications that use the media router. Bug: 11257292 Change-Id: I3705570812384fef4bfffeccaaccf7895d370d12
This commit is contained in:
@@ -21,16 +21,10 @@ import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
|
||||
import android.app.ActivityManagerNative;
|
||||
import android.app.Dialog;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.hardware.display.DisplayManager;
|
||||
import android.hardware.display.WifiDisplay;
|
||||
import android.hardware.display.WifiDisplayStatus;
|
||||
import android.os.Bundle;
|
||||
import android.os.RemoteException;
|
||||
import android.preference.CheckBoxPreference;
|
||||
@@ -40,7 +34,6 @@ import android.preference.Preference.OnPreferenceClickListener;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.SettingNotFoundException;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.view.RotationPolicy;
|
||||
@@ -60,12 +53,9 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
private static final String KEY_FONT_SIZE = "font_size";
|
||||
private static final String KEY_NOTIFICATION_PULSE = "notification_pulse";
|
||||
private static final String KEY_SCREEN_SAVER = "screensaver";
|
||||
private static final String KEY_WIFI_DISPLAY = "wifi_display";
|
||||
|
||||
private static final int DLG_GLOBAL_CHANGE_WARNING = 1;
|
||||
|
||||
private DisplayManager mDisplayManager;
|
||||
|
||||
private CheckBoxPreference mAccelerometer;
|
||||
private WarnedListPreference mFontSizePref;
|
||||
private CheckBoxPreference mNotificationPulse;
|
||||
@@ -75,9 +65,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
private ListPreference mScreenTimeoutPreference;
|
||||
private Preference mScreenSaverPreference;
|
||||
|
||||
private WifiDisplayStatus mWifiDisplayStatus;
|
||||
private Preference mWifiDisplayPreference;
|
||||
|
||||
private final RotationPolicy.RotationPolicyListener mRotationPolicyListener =
|
||||
new RotationPolicy.RotationPolicyListener() {
|
||||
@Override
|
||||
@@ -135,16 +122,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found");
|
||||
}
|
||||
}
|
||||
|
||||
mDisplayManager = (DisplayManager)getActivity().getSystemService(
|
||||
Context.DISPLAY_SERVICE);
|
||||
mWifiDisplayStatus = mDisplayManager.getWifiDisplayStatus();
|
||||
mWifiDisplayPreference = (Preference)findPreference(KEY_WIFI_DISPLAY);
|
||||
if (mWifiDisplayStatus.getFeatureState()
|
||||
== WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
|
||||
getPreferenceScreen().removePreference(mWifiDisplayPreference);
|
||||
mWifiDisplayPreference = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void updateTimeoutPreferenceDescription(long currentTimeout) {
|
||||
@@ -252,12 +229,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
RotationPolicy.registerRotationPolicyListener(getActivity(),
|
||||
mRotationPolicyListener);
|
||||
|
||||
if (mWifiDisplayPreference != null) {
|
||||
getActivity().registerReceiver(mReceiver, new IntentFilter(
|
||||
DisplayManager.ACTION_WIFI_DISPLAY_STATUS_CHANGED));
|
||||
mWifiDisplayStatus = mDisplayManager.getWifiDisplayStatus();
|
||||
}
|
||||
|
||||
updateState();
|
||||
}
|
||||
|
||||
@@ -267,10 +238,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
|
||||
RotationPolicy.unregisterRotationPolicyListener(getActivity(),
|
||||
mRotationPolicyListener);
|
||||
|
||||
if (mWifiDisplayPreference != null) {
|
||||
getActivity().unregisterReceiver(mReceiver);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -291,7 +258,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
updateAccelerometerRotationCheckbox();
|
||||
readFontSizePreference(mFontSizePref);
|
||||
updateScreenSaverSummary();
|
||||
updateWifiDisplaySummary();
|
||||
}
|
||||
|
||||
private void updateScreenSaverSummary() {
|
||||
@@ -301,23 +267,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
private void updateWifiDisplaySummary() {
|
||||
if (mWifiDisplayPreference != null) {
|
||||
switch (mWifiDisplayStatus.getFeatureState()) {
|
||||
case WifiDisplayStatus.FEATURE_STATE_OFF:
|
||||
mWifiDisplayPreference.setSummary(R.string.wifi_display_summary_off);
|
||||
break;
|
||||
case WifiDisplayStatus.FEATURE_STATE_ON:
|
||||
mWifiDisplayPreference.setSummary(R.string.wifi_display_summary_on);
|
||||
break;
|
||||
case WifiDisplayStatus.FEATURE_STATE_DISABLED:
|
||||
default:
|
||||
mWifiDisplayPreference.setSummary(R.string.wifi_display_summary_disabled);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateAccelerometerRotationCheckbox() {
|
||||
if (getActivity() == null) return;
|
||||
|
||||
@@ -347,6 +296,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
return super.onPreferenceTreeClick(preferenceScreen, preference);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||
final String key = preference.getKey();
|
||||
if (KEY_SCREEN_TIMEOUT.equals(key)) {
|
||||
@@ -365,17 +315,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
return true;
|
||||
}
|
||||
|
||||
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.getAction().equals(DisplayManager.ACTION_WIFI_DISPLAY_STATUS_CHANGED)) {
|
||||
mWifiDisplayStatus = (WifiDisplayStatus)intent.getParcelableExtra(
|
||||
DisplayManager.EXTRA_WIFI_DISPLAY_STATUS);
|
||||
updateWifiDisplaySummary();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
if (preference == mFontSizePref) {
|
||||
|
Reference in New Issue
Block a user