diff options
author | 2016-06-06 16:01:58 -0400 | |
---|---|---|
committer | 2016-06-08 09:48:58 -0400 | |
commit | b7e4380cd27ffd8a060ecb61201057fb6843e408 (patch) | |
tree | bfb199e650b8ba1ba9d5643a98d8d37b11b5ed13 | |
parent | f8c64089b10acf0e43bb74c176379aa6ce1756e5 (diff) |
Remove PreferenceActivity
Its broken and isn't worth maintaining, instead port the few things
using it over to SettingsPreferenceActivity with wrapping blank
Activities like the rest of Settings.
Change-Id: Ic82f0dcb63ed9b4078f7da6a79c0c52f0130e8d1
Fixes: 28779941
23 files changed, 281 insertions, 276 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e8271a8e4c2..5cde21c11a2 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -327,7 +327,7 @@ android:value="true" /> </activity> - <activity android:name=".wifi.WifiInfo" + <activity android:name=".Settings$WifiInfoActivity" android:theme="@style/Theme.SubSettingsDialogWhenLarge" android:taskAffinity="com.android.settings" android:parentActivityName="Settings$WifiSettingsActivity"> @@ -336,6 +336,8 @@ <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.wifi.WifiInfo" /> </activity> <activity android:name=".wifi.WifiConfigInfo" @@ -349,13 +351,15 @@ </intent-filter> </activity> - <activity android:name=".wifi.WifiAPITest" + <activity android:name=".Settings$WifiAPITestActivity" android:theme="@style/Theme.SubSettingsDialogWhenLarge"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.wifi.WifiAPITest" /> </activity> <activity android:name=".wifi.WifiStatusTest" @@ -1448,7 +1452,7 @@ </intent-filter> </activity-alias> - <activity android:name="IccLockSettings" + <activity android:name="Settings$IccLockSettingsActivity" android:label="@string/sim_lock_settings" android:theme="@style/Theme.SubSettingsDialogWhenLarge" android:process="com.android.phone"> @@ -1457,6 +1461,8 @@ <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.IccLockSettings" /> </activity> <activity android:name="Settings$AccessibilitySettingsActivity" @@ -1739,7 +1745,7 @@ <activity android:name=".EncryptionInterstitial"/> <!-- Runs in the phone process since it needs access to the Phone object --> - <activity android:name=".deviceinfo.Status" + <activity android:name=".Settings$StatusActivity" android:label="@string/device_status_activity_title" android:theme="@style/Theme.SubSettingsDialogWhenLarge" android:process="com.android.phone"> @@ -1748,10 +1754,12 @@ <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.deviceinfo.Status" /> </activity> <!-- Runs in the phone process since it needs access to the Phone object --> - <activity android:name=".deviceinfo.SimStatus" + <activity android:name=".Settings$SimStatusActivity" android:label="@string/sim_status_title" android:theme="@style/Theme.SubSettingsDialogWhenLarge" android:process="com.android.phone"> @@ -1760,10 +1768,12 @@ <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.deviceinfo.SimStatus" /> </activity> <!-- Runs in the phone process since it needs access to the Phone object --> - <activity android:name=".deviceinfo.ImeiInformation" + <activity android:name=".Settings$ImeiInformationActivity" android:label="@string/imei_information_title" android:theme="@style/Theme.SubSettingsDialogWhenLarge" android:process="com.android.phone"> @@ -1772,6 +1782,8 @@ <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.deviceinfo.ImeiInformation" /> </activity> <activity android:name="Settings$StorageSettingsActivity" @@ -1876,7 +1888,7 @@ android:exported="true" android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> - <activity android:name="ApnEditor" + <activity android:name="Settings$ApnEditorActivity" android:label="@string/apn_edit"> <intent-filter> <action android:name="android.intent.action.VIEW" /> @@ -1890,6 +1902,8 @@ <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.dir/telephony-carrier" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.ApnEditor" /> </activity> <activity android:name="Settings$DevelopmentSettingsActivity" @@ -2154,11 +2168,13 @@ </intent-filter> </activity> - <activity android:name="TestingSettings" android:label="@string/testing"> + <activity android:name="Settings$TestingSettingsActivity" android:label="@string/testing"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.TestingSettings" /> </activity> <receiver android:name="TestingSettingsBroadcastReceiver"> @@ -2319,10 +2335,13 @@ android:value="true" /> </activity> - <activity android:name="com.android.settings.accounts.ChooseAccountActivity" + <activity android:name="Settings$ChooseAccountActivity" android:label="@string/header_add_an_account" android:configChanges="orientation|keyboardHidden|screenSize" - android:theme="@style/Theme.SubSettingsDialogWhenLarge"/> + android:theme="@style/Theme.SubSettingsDialogWhenLarge"> + <meta-data android:name="com.android.settings.FRAGMENT_CLASS" + android:value="com.android.settings.accounts.ChooseAccountActivity" /> + </activity> <activity android:name=".CryptKeeper" androidprv:systemUserOnly="true" diff --git a/res/layout/icc_lock_tabs.xml b/res/layout/icc_lock_tabs.xml index 79b96603132..d62f595d3d9 100644 --- a/res/layout/icc_lock_tabs.xml +++ b/res/layout/icc_lock_tabs.xml @@ -47,7 +47,7 @@ android:layout_height="0dip" /> <FrameLayout - android:id="@+id/main_content" + android:id="@+id/prefs_container" android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index e52712d1940..5638f4fec22 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -38,7 +38,7 @@ android:summary="@string/device_status_summary"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.deviceinfo.Status" /> + android:targetClass="com.android.settings.Settings$StatusActivity" /> </PreferenceScreen> <!-- Manual --> diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xml index 2cb5c6d736f..a0b7590509e 100644 --- a/res/xml/device_info_status.xml +++ b/res/xml/device_info_status.xml @@ -33,13 +33,13 @@ android:title="@string/sim_status_title" android:persistent="false"> <intent android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.deviceinfo.SimStatus" /> + android:targetClass="com.android.settings.Settings$SimStatusActivity" /> </PreferenceScreen> <PreferenceScreen android:key="imei_info" android:title="@string/imei_information_title" android:persistent="false"> <intent android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.deviceinfo.ImeiInformation" /> + android:targetClass="com.android.settings.Settings$ImeiInformationActivity" /> </PreferenceScreen> <com.android.settings.CopyablePreference android:key="wifi_ip_address" android:enabled="false" diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml index 0ba10c07b53..68a867ef352 100644 --- a/res/xml/security_settings_misc.xml +++ b/res/xml/security_settings_misc.xml @@ -28,7 +28,7 @@ <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.IccLockSettings"/> + android:targetClass="com.android.settings.Settings$IccLockSettingsActivity"/> </Preference> diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml index 4e5c5ddf284..bce03e5aa06 100644 --- a/res/xml/testing_settings.xml +++ b/res/xml/testing_settings.xml @@ -37,7 +37,7 @@ <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.wifi.WifiInfo" /> + android:targetClass="com.android.settings.Settings$WifiInfoActivity" /> </PreferenceScreen> <!-- diff --git a/res/xml/testing_wifi_settings.xml b/res/xml/testing_wifi_settings.xml index 7844aaab158..4ee269a2a02 100644 --- a/res/xml/testing_wifi_settings.xml +++ b/res/xml/testing_wifi_settings.xml @@ -23,7 +23,7 @@ android:key="parent"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.wifi.WifiAPITest" /> + android:targetClass="com.android.settings.Settings$WifiAPITestActivity" /> </Preference> <Preference diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java index 3163b631e57..8a963d8801c 100644 --- a/src/com/android/settings/ApnEditor.java +++ b/src/com/android/settings/ApnEditor.java @@ -16,8 +16,12 @@ package com.android.settings; +import static android.app.Activity.RESULT_OK; +import static android.content.Context.TELEPHONY_SERVICE; + import android.app.AlertDialog; import android.app.Dialog; +import android.app.DialogFragment; import android.content.ContentUris; import android.content.ContentValues; import android.content.Intent; @@ -31,6 +35,7 @@ import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.EditTextPreference; import android.support.v7.preference.ListPreference; import android.support.v7.preference.Preference; +import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.telephony.ServiceState; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; @@ -38,14 +43,18 @@ import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; +import android.view.MenuInflater; import android.view.MenuItem; +import android.view.View; +import android.view.View.OnKeyListener; + import com.android.internal.logging.MetricsProto.MetricsEvent; import java.util.HashSet; import java.util.Set; -public class ApnEditor extends InstrumentedPreferenceActivity - implements Preference.OnPreferenceChangeListener { +public class ApnEditor extends SettingsPreferenceFragment + implements OnPreferenceChangeListener, OnKeyListener { private final static String TAG = ApnEditor.class.getSimpleName(); @@ -60,7 +69,6 @@ public class ApnEditor extends InstrumentedPreferenceActivity private static final int MENU_DELETE = Menu.FIRST; private static final int MENU_SAVE = Menu.FIRST + 1; private static final int MENU_CANCEL = Menu.FIRST + 2; - private static final int ERROR_DIALOG_ID = 0; private static String sNotSet; private EditTextPreference mName; @@ -152,7 +160,7 @@ public class ApnEditor extends InstrumentedPreferenceActivity @Override - protected void onCreate(Bundle icicle) { + public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.apn_editor); @@ -242,7 +250,7 @@ public class ApnEditor extends InstrumentedPreferenceActivity return; } - mCursor = managedQuery(mUri, sProjection, null, null); + mCursor = getActivity().managedQuery(mUri, sProjection, null, null); mCursor.moveToFirst(); mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); @@ -526,8 +534,8 @@ public class ApnEditor extends InstrumentedPreferenceActivity } @Override - public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + super.onCreateOptionsMenu(menu, inflater); // If it's a new APN, then cancel will delete the new entry in onPause if (!mNewApn) { menu.add(0, MENU_DELETE, 0, R.string.menu_delete) @@ -537,7 +545,6 @@ public class ApnEditor extends InstrumentedPreferenceActivity .setIcon(android.R.drawable.ic_menu_save); menu.add(0, MENU_CANCEL, 0, R.string.menu_cancel) .setIcon(android.R.drawable.ic_menu_close_clear_cancel); - return true; } @Override @@ -562,7 +569,13 @@ public class ApnEditor extends InstrumentedPreferenceActivity } @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + view.setOnKeyListener(this); + } + + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (event.getAction() != KeyEvent.ACTION_DOWN) return false; switch (keyCode) { case KeyEvent.KEYCODE_BACK: { if (validateAndSave(false)) { @@ -571,11 +584,11 @@ public class ApnEditor extends InstrumentedPreferenceActivity return true; } } - return super.onKeyDown(keyCode, event); + return false; } @Override - protected void onSaveInstanceState(Bundle icicle) { + public void onSaveInstanceState(Bundle icicle) { super.onSaveInstanceState(icicle); if (validateAndSave(true)) { icicle.putInt(SAVED_POS, mCursor.getInt(ID_INDEX)); @@ -595,7 +608,7 @@ public class ApnEditor extends InstrumentedPreferenceActivity String mnc = checkNotSet(mMnc.getText()); if (getErrorMsg() != null && !force) { - showDialog(ERROR_DIALOG_ID); + ErrorDialog.showError(this); return false; } @@ -703,35 +716,6 @@ public class ApnEditor extends InstrumentedPreferenceActivity return errorMsg; } - @Override - protected Dialog onCreateDialog(int id) { - - if (id == ERROR_DIALOG_ID) { - String msg = getErrorMsg(); - - return new AlertDialog.Builder(this) - .setTitle(R.string.error_title) - .setPositiveButton(android.R.string.ok, null) - .setMessage(msg) - .create(); - } - - return super.onCreateDialog(id); - } - - @Override - protected void onPrepareDialog(int id, Dialog dialog) { - super.onPrepareDialog(id, dialog); - - if (id == ERROR_DIALOG_ID) { - String msg = getErrorMsg(); - - if (msg != null) { - ((AlertDialog)dialog).setMessage(msg); - } - } - } - private void deleteApn() { getContentResolver().delete(mUri, null, null); finish(); @@ -765,4 +749,24 @@ public class ApnEditor extends InstrumentedPreferenceActivity } } + public static class ErrorDialog extends DialogFragment { + + public static void showError(ApnEditor editor) { + ErrorDialog dialog = new ErrorDialog(); + dialog.setTargetFragment(editor, 0); + dialog.show(editor.getFragmentManager(), "error"); + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + String msg = ((ApnEditor) getTargetFragment()).getErrorMsg(); + + return new AlertDialog.Builder(getContext()) + .setTitle(R.string.error_title) + .setPositiveButton(android.R.string.ok, null) + .setMessage(msg) + .create(); + } + } + } diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index 25d4fb1a03a..9d7f10aa84d 100644 --- a/src/com/android/settings/IccLockSettings.java +++ b/src/com/android/settings/IccLockSettings.java @@ -31,7 +31,9 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; +import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; import android.widget.ListView; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; @@ -53,7 +55,7 @@ import com.android.internal.telephony.TelephonyIntents; * these operations. * */ -public class IccLockSettings extends InstrumentedPreferenceActivity +public class IccLockSettings extends SettingsPreferenceFragment implements EditPinPreference.OnPinEnteredListener { private static final String TAG = "IccLockSettings"; private static final boolean DBG = true; @@ -153,12 +155,8 @@ public class IccLockSettings extends InstrumentedPreferenceActivity } @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - final Context context = getApplicationContext(); - final TelephonyManager tm = - (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - final int numSims = tm.getSimCount(); if (Utils.isMonkeyRunning()) { finish(); @@ -198,33 +196,53 @@ public class IccLockSettings extends InstrumentedPreferenceActivity // Don't need any changes to be remembered getPreferenceScreen().setPersistent(false); + mRes = getResources(); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + + final TelephonyManager tm = + (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE); + final int numSims = tm.getSimCount(); if (numSims > 1) { - setContentView(R.layout.icc_lock_tabs); + View view = inflater.inflate(R.layout.icc_lock_tabs, container, false); + final ViewGroup prefs_container = (ViewGroup) view.findViewById(R.id.prefs_container); + Utils.prepareCustomPreferencesList(container, view, prefs_container, false); + View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState); + prefs_container.addView(prefs); - mTabHost = (TabHost) findViewById(android.R.id.tabhost); - mTabWidget = (TabWidget) findViewById(android.R.id.tabs); - mListView = (ListView) findViewById(android.R.id.list); + mTabHost = (TabHost) view.findViewById(android.R.id.tabhost); + mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs); + mListView = (ListView) view.findViewById(android.R.id.list); mTabHost.setup(); mTabHost.setOnTabChangedListener(mTabListener); mTabHost.clearAllTabs(); - SubscriptionManager sm = SubscriptionManager.from(this); + SubscriptionManager sm = SubscriptionManager.from(getContext()); for (int i = 0; i < numSims; ++i) { final SubscriptionInfo subInfo = sm.getActiveSubscriptionInfoForSimSlotIndex(i); mTabHost.addTab(buildTabSpec(String.valueOf(i), String.valueOf(subInfo == null - ? context.getString(R.string.sim_editor_title, i + 1) + ? getContext().getString(R.string.sim_editor_title, i + 1) : subInfo.getDisplayName()))); } final SubscriptionInfo sir = sm.getActiveSubscriptionInfoForSimSlotIndex(0); mPhone = (sir == null) ? null : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId())); + return view; } else { mPhone = PhoneFactory.getDefaultPhone(); + return super.onCreateView(inflater, container, savedInstanceState); } - mRes = getResources(); + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); updatePreferences(); } @@ -243,13 +261,13 @@ public class IccLockSettings extends InstrumentedPreferenceActivity } @Override - protected void onResume() { + public void onResume() { super.onResume(); // ACTION_SIM_STATE_CHANGED is sticky, so we'll receive current state after this call, // which will call updatePreferences(). final IntentFilter filter = new IntentFilter(TelephonyIntents.ACTION_SIM_STATE_CHANGED); - registerReceiver(mSimStateReceiver, filter); + getContext().registerReceiver(mSimStateReceiver, filter); if (mDialogState != OFF_MODE) { showPinDialog(); @@ -260,13 +278,13 @@ public class IccLockSettings extends InstrumentedPreferenceActivity } @Override - protected void onPause() { + public void onPause() { super.onPause(); - unregisterReceiver(mSimStateReceiver); + getContext().unregisterReceiver(mSimStateReceiver); } @Override - protected void onSaveInstanceState(Bundle out) { + public void onSaveInstanceState(Bundle out) { // Need to store this state for slider open/close // There is one case where the dialog is popped up by the preference // framework. In that case, let the preference framework store the @@ -412,8 +430,8 @@ public class IccLockSettings extends InstrumentedPreferenceActivity if (success) { mPinToggle.setChecked(mToState); } else { - Toast.makeText(this, getPinPasswordErrorMessage(attemptsRemaining), Toast.LENGTH_LONG) - .show(); + Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining), + Toast.LENGTH_LONG).show(); } mPinToggle.setEnabled(true); resetDialogState(); @@ -421,11 +439,11 @@ public class IccLockSettings extends InstrumentedPreferenceActivity private void iccPinChanged(boolean success, int attemptsRemaining) { if (!success) { - Toast.makeText(this, getPinPasswordErrorMessage(attemptsRemaining), + Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining), Toast.LENGTH_LONG) .show(); } else { - Toast.makeText(this, mRes.getString(R.string.sim_change_succeeded), + Toast.makeText(getContext(), mRes.getString(R.string.sim_change_succeeded), Toast.LENGTH_SHORT) .show(); @@ -476,7 +494,7 @@ public class IccLockSettings extends InstrumentedPreferenceActivity @Override public void onTabChanged(String tabId) { final int slotId = Integer.parseInt(tabId); - final SubscriptionInfo sir = SubscriptionManager.from(getBaseContext()) + final SubscriptionInfo sir = SubscriptionManager.from(getActivity().getBaseContext()) .getActiveSubscriptionInfoForSimSlotIndex(slotId); mPhone = (sir == null) ? null diff --git a/src/com/android/settings/InstrumentedPreferenceActivity.java b/src/com/android/settings/InstrumentedPreferenceActivity.java deleted file mode 100644 index 3b19b332b38..00000000000 --- a/src/com/android/settings/InstrumentedPreferenceActivity.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings; - -import com.android.internal.logging.MetricsLogger; - -/** - * Instrumented activity that logs visibility state. - */ -public abstract class InstrumentedPreferenceActivity extends PreferenceActivity { - /** - * Declare the view of this category. - * - * Categories are defined in {@link com.android.internal.logging.MetricsProto.MetricsEvent} - * or if there is no relevant existing category you may define one in - * {@link com.android.settings.InstrumentedFragment}. - */ - protected abstract int getMetricsCategory(); - - @Override - protected void onResume() { - super.onResume(); - MetricsLogger.visible(this, getMetricsCategory()); - } - - @Override - protected void onPause() { - super.onPause(); - MetricsLogger.hidden(this, getMetricsCategory()); - } -} diff --git a/src/com/android/settings/PreferenceActivity.java b/src/com/android/settings/PreferenceActivity.java deleted file mode 100644 index 31b5f1f0f2d..00000000000 --- a/src/com/android/settings/PreferenceActivity.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.settings; - -import android.annotation.Nullable; -import android.os.Bundle; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; - -public class PreferenceActivity extends SettingsActivity { - - private PreferenceActivityFragment mFragment; - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - getIntent().putExtra(EXTRA_SHOW_FRAGMENT, PreferenceActivityFragment.class.getName()); - super.onCreate(savedInstanceState); - } - - public void addPreferencesFromResource(int resource) { - mFragment.addPreferencesFromResource(resource); - } - - public Preference findPreference(String preference) { - return mFragment.findPreference(preference); - } - - public PreferenceScreen getPreferenceScreen() { - return mFragment.getPreferenceScreen(); - } - - public void setPreferenceScreen(PreferenceScreen screen) { - mFragment.setPreferenceScreen(screen); - } - - public boolean onPreferenceTreeClick(Preference preference) { - return false; - } - - @Override - protected boolean isValidFragment(String fragmentName) { - return super.isValidFragment(fragmentName) - || PreferenceActivityFragment.class.getName().equals(fragmentName); - } - - public static class PreferenceActivityFragment extends SettingsPreferenceFragment { - @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - ((PreferenceActivity) getActivity()).mFragment = this; - } - - @Override - public boolean onPreferenceTreeClick(Preference preference) { - if (((PreferenceActivity) getActivity()).onPreferenceTreeClick(preference)) { - return true; - } - return super.onPreferenceTreeClick(preference); - } - - @Override - protected int getMetricsCategory() { - if (getActivity() instanceof InstrumentedPreferenceActivity) { - return ((InstrumentedPreferenceActivity) getActivity()).getMetricsCategory(); - } - return InstrumentedFragment.PREFERENCE_ACTIVITY_FRAGMENT; - } - } - -} diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 82e41cb18be..3c589cc6df0 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -140,6 +140,16 @@ public class Settings extends SettingsActivity { public static class WallpaperSettingsActivity extends SettingsActivity { /* empty */ } public static class ManagedProfileSettingsActivity extends SettingsActivity { /* empty */ } + public static class ApnEditorActivity extends SettingsActivity { /* empty */ } + public static class ChooseAccountActivity extends SettingsActivity { /* empty */ } + public static class IccLockSettingsActivity extends SettingsActivity { /* empty */ } + public static class ImeiInformationActivity extends SettingsActivity { /* empty */ } + public static class SimStatusActivity extends SettingsActivity { /* empty */ } + public static class StatusActivity extends SettingsActivity { /* empty */ } + public static class TestingSettingsActivity extends SettingsActivity { /* empty */ } + public static class WifiAPITestActivity extends SettingsActivity { /* empty */ } + public static class WifiInfoActivity extends SettingsActivity { /* empty */ } + // Categories. public static class WirelessSettings extends SettingsActivity { /* empty */ } public static class DeviceSettings extends SettingsActivity { /* empty */ } diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index d989535cf28..cd097427b48 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -56,6 +56,7 @@ import com.android.settings.accessibility.AccessibilitySettingsForSetupWizard; import com.android.settings.accessibility.CaptionPropertiesFragment; import com.android.settings.accounts.AccountSettings; import com.android.settings.accounts.AccountSyncSettings; +import com.android.settings.accounts.ChooseAccountActivity; import com.android.settings.accounts.ManagedProfileSettings; import com.android.settings.applications.AdvancedAppSettings; import com.android.settings.applications.DrawOverlayDetails; @@ -72,9 +73,12 @@ import com.android.settings.bluetooth.BluetoothSettings; import com.android.settings.dashboard.DashboardSummary; import com.android.settings.dashboard.SearchResultsSummary; import com.android.settings.datausage.DataUsageSummary; +import com.android.settings.deviceinfo.ImeiInformation; import com.android.settings.deviceinfo.PrivateVolumeForget; import com.android.settings.deviceinfo.PrivateVolumeSettings; import com.android.settings.deviceinfo.PublicVolumeSettings; +import com.android.settings.deviceinfo.SimStatus; +import com.android.settings.deviceinfo.Status; import com.android.settings.deviceinfo.StorageSettings; import com.android.settings.fuelgauge.BatterySaverSettings; import com.android.settings.fuelgauge.PowerUsageDetail; @@ -116,6 +120,8 @@ import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.widget.SwitchBar; import com.android.settings.wifi.AdvancedWifiSettings; import com.android.settings.wifi.SavedAccessPointsWifiSettings; +import com.android.settings.wifi.WifiAPITest; +import com.android.settings.wifi.WifiInfo; import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.p2p.WifiP2pSettings; import com.android.settingslib.drawer.DashboardCategory; @@ -315,6 +321,7 @@ public class SettingsActivity extends SettingsDrawerActivity AppNotificationSettings.class.getName(), OtherSoundSettings.class.getName(), ApnSettings.class.getName(), + ApnEditor.class.getName(), WifiCallingSettings.class.getName(), ZenModePrioritySettings.class.getName(), ZenModeAutomationSettings.class.getName(), @@ -330,6 +337,14 @@ public class SettingsActivity extends SettingsDrawerActivity WallpaperTypeSettings.class.getName(), VrListenerSettings.class.getName(), ManagedProfileSettings.class.getName(), + ChooseAccountActivity.class.getName(), + IccLockSettings.class.getName(), + ImeiInformation.class.getName(), + SimStatus.class.getName(), + Status.class.getName(), + TestingSettings.class.getName(), + WifiAPITest.class.getName(), + WifiInfo.class.getName(), }; diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index a992897623f..f5d7d869049 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -23,6 +23,7 @@ import android.app.Fragment; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; +import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.annotation.XmlRes; @@ -42,6 +43,7 @@ import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; + import com.android.settings.applications.LayoutPreference; import com.android.settings.widget.FloatingActionButton; import com.android.settingslib.HelpUtils; @@ -693,6 +695,27 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } } + protected Intent getIntent() { + if (getActivity() == null) { + return null; + } + return getActivity().getIntent(); + } + + protected void setResult(int result, Intent intent) { + if (getActivity() == null) { + return; + } + getActivity().setResult(result, intent); + } + + protected void setResult(int result) { + if (getActivity() == null) { + return; + } + getActivity().setResult(result); + } + protected final Context getPrefContext() { return getPreferenceManager().getContext(); } @@ -704,10 +727,6 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF SettingsActivity sa = (SettingsActivity) activity; sa.startPreferencePanel(fragmentClass, extras, titleRes, null, caller, requestCode); return true; - } else if (activity instanceof PreferenceActivity) { - PreferenceActivity sa = (PreferenceActivity) activity; - sa.startPreferencePanel(fragmentClass, extras, titleRes, null, caller, requestCode); - return true; } else { Log.w(TAG, "Parent isn't SettingsActivity nor PreferenceActivity, thus there's no way to " diff --git a/src/com/android/settings/TestingSettings.java b/src/com/android/settings/TestingSettings.java index 7a6f252f778..264db52bf8c 100644 --- a/src/com/android/settings/TestingSettings.java +++ b/src/com/android/settings/TestingSettings.java @@ -20,15 +20,17 @@ import android.os.Bundle; import android.os.UserManager; import android.support.v7.preference.PreferenceScreen; -public class TestingSettings extends PreferenceActivity { +import com.android.internal.logging.MetricsProto.MetricsEvent; + +public class TestingSettings extends SettingsPreferenceFragment { @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.testing_settings); - final UserManager um = UserManager.get(this); + final UserManager um = UserManager.get(getContext()); if (!um.isAdminUser()) { PreferenceScreen preferenceScreen = (PreferenceScreen) findPreference("radio_info_settings"); @@ -36,4 +38,8 @@ public class TestingSettings extends PreferenceActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsEvent.TESTING; + } } diff --git a/src/com/android/settings/TestingSettingsBroadcastReceiver.java b/src/com/android/settings/TestingSettingsBroadcastReceiver.java index 18d59be3dbf..a66f2089962 100644 --- a/src/com/android/settings/TestingSettingsBroadcastReceiver.java +++ b/src/com/android/settings/TestingSettingsBroadcastReceiver.java @@ -6,6 +6,8 @@ import android.content.Intent; import static com.android.internal.telephony.TelephonyIntents.SECRET_CODE_ACTION; +import com.android.settings.Settings.TestingSettingsActivity; + public class TestingSettingsBroadcastReceiver extends BroadcastReceiver { @@ -16,7 +18,7 @@ public class TestingSettingsBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(SECRET_CODE_ACTION)) { Intent i = new Intent(Intent.ACTION_MAIN); - i.setClass(context, TestingSettings.class); + i.setClass(context, TestingSettingsActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } diff --git a/src/com/android/settings/accounts/AddAccountSettings.java b/src/com/android/settings/accounts/AddAccountSettings.java index d9a181d4e21..ce16ba3d5ac 100644 --- a/src/com/android/settings/accounts/AddAccountSettings.java +++ b/src/com/android/settings/accounts/AddAccountSettings.java @@ -34,6 +34,7 @@ import android.widget.Toast; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.R; +import com.android.settings.Settings; import com.android.settings.Utils; import java.io.IOException; @@ -216,7 +217,7 @@ public class AddAccountSettings extends Activity { getIntent().getStringArrayExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY); final String[] accountTypes = getIntent().getStringArrayExtra(AccountPreferenceBase.ACCOUNT_TYPES_FILTER_KEY); - final Intent intent = new Intent(this, ChooseAccountActivity.class); + final Intent intent = new Intent(this, Settings.ChooseAccountActivity.class); if (authorities != null) { intent.putExtra(AccountPreferenceBase.AUTHORITIES_FILTER_KEY, authorities); } diff --git a/src/com/android/settings/accounts/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java index 2f904cf402a..2e3280bb133 100644 --- a/src/com/android/settings/accounts/ChooseAccountActivity.java +++ b/src/com/android/settings/accounts/ChooseAccountActivity.java @@ -16,6 +16,10 @@ package com.android.settings.accounts; +import static android.app.Activity.RESULT_CANCELED; +import static android.app.Activity.RESULT_OK; +import static android.content.Intent.EXTRA_USER; + import android.accounts.AccountManager; import android.accounts.AuthenticatorDescription; import android.content.ContentResolver; @@ -32,14 +36,15 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.util.Log; -import com.google.android.collect.Maps; - import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.util.CharSequences; -import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import com.android.settingslib.RestrictedLockUtils; +import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; + +import com.google.android.collect.Maps; import java.util.ArrayList; import java.util.Collections; @@ -47,17 +52,13 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import static android.content.Intent.EXTRA_USER; - -import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; - /** * Activity asking a user to select an account to be set up. * * An extra {@link UserHandle} can be specified in the intent as {@link EXTRA_USER}, if the user for * which the action needs to be performed is different to the one the Settings App will run in. */ -public class ChooseAccountActivity extends InstrumentedPreferenceActivity { +public class ChooseAccountActivity extends SettingsPreferenceFragment { private static final String TAG = "ChooseAccountActivity"; private String[] mAuthorities; @@ -97,7 +98,7 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { } @Override - protected void onCreate(Bundle icicle) { + public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.add_account_settings); @@ -112,9 +113,9 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { } } mAddAccountGroup = getPreferenceScreen(); - mUm = UserManager.get(this); - mUserHandle = Utils.getSecureTargetUser(getActivityToken(), mUm, null /* arguments */, - getIntent().getExtras()); + mUm = UserManager.get(getContext()); + mUserHandle = Utils.getSecureTargetUser(getActivity().getActivityToken(), mUm, + null /* arguments */, getIntent().getExtras()); updateAuthDescriptions(); } @@ -123,7 +124,7 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { * and update any UI that depends on AuthenticatorDescriptions in onAuthDescriptionsUpdated(). */ private void updateAuthDescriptions() { - mAuthDescs = AccountManager.get(this).getAuthenticatorTypesAsUser( + mAuthDescs = AccountManager.get(getContext()).getAuthenticatorTypesAsUser( mUserHandle.getIdentifier()); for (int i = 0; i < mAuthDescs.length; i++) { mTypeToAuthDescription.put(mAuthDescs[i].type, mAuthDescs[i]); @@ -233,7 +234,8 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { if (mTypeToAuthDescription.containsKey(accountType)) { try { AuthenticatorDescription desc = mTypeToAuthDescription.get(accountType); - Context authContext = createPackageContextAsUser(desc.packageName, 0, mUserHandle); + Context authContext = getActivity() + .createPackageContextAsUser(desc.packageName, 0, mUserHandle); icon = getPackageManager().getUserBadgedIcon( authContext.getDrawable(desc.iconId), mUserHandle); } catch (PackageManager.NameNotFoundException e) { @@ -259,7 +261,8 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { if (mTypeToAuthDescription.containsKey(accountType)) { try { AuthenticatorDescription desc = mTypeToAuthDescription.get(accountType); - Context authContext = createPackageContextAsUser(desc.packageName, 0, mUserHandle); + Context authContext = getActivity() + .createPackageContextAsUser(desc.packageName, 0, mUserHandle); label = authContext.getResources().getText(desc.labelId); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "No label name for account type " + accountType); diff --git a/src/com/android/settings/deviceinfo/ImeiInformation.java b/src/com/android/settings/deviceinfo/ImeiInformation.java index 6b63d5591e4..714521221f2 100644 --- a/src/com/android/settings/deviceinfo/ImeiInformation.java +++ b/src/com/android/settings/deviceinfo/ImeiInformation.java @@ -27,10 +27,10 @@ import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneFactory; -import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; -public class ImeiInformation extends InstrumentedPreferenceActivity { +public class ImeiInformation extends SettingsPreferenceFragment { private static final String KEY_PRL_VERSION = "prl_version"; private static final String KEY_MIN_NUMBER = "min_number"; @@ -43,9 +43,9 @@ public class ImeiInformation extends InstrumentedPreferenceActivity { private boolean isMultiSIM = false; @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mSubscriptionManager = SubscriptionManager.from(this); + mSubscriptionManager = SubscriptionManager.from(getContext()); final TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); initPreferenceScreen(telephonyManager.getSimCount()); diff --git a/src/com/android/settings/deviceinfo/SimStatus.java b/src/com/android/settings/deviceinfo/SimStatus.java index 610744b7102..e580afe5c84 100644 --- a/src/com/android/settings/deviceinfo/SimStatus.java +++ b/src/com/android/settings/deviceinfo/SimStatus.java @@ -16,6 +16,9 @@ package com.android.settings.deviceinfo; +import static android.content.Context.CARRIER_CONFIG_SERVICE; +import static android.content.Context.TELEPHONY_SERVICE; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -27,6 +30,7 @@ import android.os.PersistableBundle; import android.os.UserHandle; import android.os.UserManager; import android.support.v7.preference.Preference; +import android.telephony.CarrierConfigManager; import android.telephony.CellBroadcastMessage; import android.telephony.PhoneNumberUtils; import android.telephony.PhoneStateListener; @@ -35,10 +39,11 @@ import android.telephony.SignalStrength; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; -import android.telephony.CarrierConfigManager; import android.text.TextUtils; import android.util.Log; +import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; import android.widget.ListView; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; @@ -50,8 +55,9 @@ import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.telephony.DefaultPhoneNotifier; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; -import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.Utils; import java.util.List; @@ -67,7 +73,7 @@ import java.util.List; * # Signal Strength * */ -public class SimStatus extends InstrumentedPreferenceActivity { +public class SimStatus extends SettingsPreferenceFragment { private static final String TAG = "SimStatus"; private static final String KEY_DATA_STATE = "data_state"; @@ -131,12 +137,13 @@ public class SimStatus extends InstrumentedPreferenceActivity { }; @Override - protected void onCreate(Bundle icicle) { + public void onCreate(Bundle icicle) { super.onCreate(icicle); mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); mCarrierConfigManager = (CarrierConfigManager) getSystemService(CARRIER_CONFIG_SERVICE); - mSelectableSubInfos = SubscriptionManager.from(this).getActiveSubscriptionInfoList(); + mSelectableSubInfos = SubscriptionManager.from(getContext()) + .getActiveSubscriptionInfoList(); addPreferencesFromResource(R.xml.device_info_sim_status); @@ -145,17 +152,28 @@ public class SimStatus extends InstrumentedPreferenceActivity { // Note - missing in zaku build, be careful later... mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH); + updatePhoneInfos(); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { if (mSelectableSubInfos == null) { mSir = null; } else { mSir = mSelectableSubInfos.size() > 0 ? mSelectableSubInfos.get(0) : null; if (mSelectableSubInfos.size() > 1) { - setContentView(R.layout.icc_lock_tabs); + View view = inflater.inflate(R.layout.icc_lock_tabs, container, false); + final ViewGroup prefs_container = (ViewGroup) view.findViewById( + R.id.prefs_container); + Utils.prepareCustomPreferencesList(container, view, prefs_container, false); + View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState); + prefs_container.addView(prefs); - mTabHost = (TabHost) findViewById(android.R.id.tabhost); - mTabWidget = (TabWidget) findViewById(android.R.id.tabs); - mListView = (ListView) findViewById(android.R.id.list); + mTabHost = (TabHost) view.findViewById(android.R.id.tabhost); + mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs); + mListView = (ListView) view.findViewById(android.R.id.list); mTabHost.setup(); mTabHost.setOnTabChangedListener(mTabListener); @@ -167,7 +185,7 @@ public class SimStatus extends InstrumentedPreferenceActivity { } } } - updatePhoneInfos(); + return super.onCreateView(inflater, container, savedInstanceState); } @Override @@ -176,7 +194,7 @@ public class SimStatus extends InstrumentedPreferenceActivity { } @Override - protected void onResume() { + public void onResume() { super.onResume(); if (mPhone != null) { updatePreference(); @@ -189,11 +207,12 @@ public class SimStatus extends InstrumentedPreferenceActivity { | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS | PhoneStateListener.LISTEN_SERVICE_STATE); if (mShowLatestAreaInfo) { - registerReceiver(mAreaInfoReceiver, new IntentFilter(CB_AREA_INFO_RECEIVED_ACTION), + getContext().registerReceiver(mAreaInfoReceiver, + new IntentFilter(CB_AREA_INFO_RECEIVED_ACTION), CB_AREA_INFO_SENDER_PERMISSION, null); // Ask CellBroadcastReceiver to broadcast the latest area info received Intent getLatestIntent = new Intent(GET_LATEST_CB_AREA_INFO_ACTION); - sendBroadcastAsUser(getLatestIntent, UserHandle.ALL, + getContext().sendBroadcastAsUser(getLatestIntent, UserHandle.ALL, CB_AREA_INFO_SENDER_PERMISSION); } } @@ -208,7 +227,7 @@ public class SimStatus extends InstrumentedPreferenceActivity { PhoneStateListener.LISTEN_NONE); } if (mShowLatestAreaInfo) { - unregisterReceiver(mAreaInfoReceiver); + getContext().unregisterReceiver(mAreaInfoReceiver); } } @@ -250,7 +269,7 @@ public class SimStatus extends InstrumentedPreferenceActivity { boolean show4GForLTE = false; try { - Context con = createPackageContext("com.android.systemui", 0); + Context con = getActivity().createPackageContext("com.android.systemui", 0); int id = con.getResources().getIdentifier("config_show4GForLTE", "bool", "com.android.systemui"); show4GForLTE = con.getResources().getBoolean(id); @@ -395,7 +414,7 @@ public class SimStatus extends InstrumentedPreferenceActivity { // TODO: http://b/23763013 final Phone phone = PhoneFactory.getPhone(SubscriptionManager.getPhoneId( mSir.getSubscriptionId())); - if (UserManager.get(this).isAdminUser() + if (UserManager.get(getContext()).isAdminUser() && SubscriptionManager.isValidSubscriptionId(mSir.getSubscriptionId())) { if (phone == null) { Log.e(TAG, "Unable to locate a phone object for the given Subscription ID."); diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java index 41f59efb24c..1ba3978dfeb 100644 --- a/src/com/android/settings/deviceinfo/Status.java +++ b/src/com/android/settings/deviceinfo/Status.java @@ -16,6 +16,9 @@ package com.android.settings.deviceinfo; +import static android.content.Context.CONNECTIVITY_SERVICE; +import static android.content.Context.WIFI_SERVICE; + import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; import android.content.Context; @@ -37,8 +40,8 @@ import android.text.TextUtils; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.util.ArrayUtils; -import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import java.lang.ref.WeakReference; @@ -51,7 +54,7 @@ import java.lang.ref.WeakReference; * # XMPP/buzz/tickle status : TODO * */ -public class Status extends InstrumentedPreferenceActivity { +public class Status extends SettingsPreferenceFragment { private static final String KEY_BATTERY_STATUS = "battery_status"; private static final String KEY_BATTERY_LEVEL = "battery_level"; @@ -152,7 +155,7 @@ public class Status extends InstrumentedPreferenceActivity { } @Override - protected void onCreate(Bundle icicle) { + public void onCreate(Bundle icicle) { super.onCreate(icicle); mHandler = new MyHandler(this); @@ -202,8 +205,8 @@ public class Status extends InstrumentedPreferenceActivity { // Remove SimStatus and Imei for Secondary user as it access Phone b/19165700 // Also remove on Wi-Fi only devices. //TODO: the bug above will surface in split system user mode. - if (!UserManager.get(this).isAdminUser() - || Utils.isWifiOnly(this)) { + if (!UserManager.get(getContext()).isAdminUser() + || Utils.isWifiOnly(getContext())) { removePreferenceFromScreen(KEY_SIM_STATUS); removePreferenceFromScreen(KEY_IMEI_INFO); } @@ -215,11 +218,12 @@ public class Status extends InstrumentedPreferenceActivity { } @Override - protected void onResume() { + public void onResume() { super.onResume(); - registerReceiver(mConnectivityReceiver, mConnectivityIntentFilter, + getContext().registerReceiver(mConnectivityReceiver, mConnectivityIntentFilter, android.Manifest.permission.CHANGE_NETWORK_STATE, null); - registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); + getContext().registerReceiver(mBatteryInfoReceiver, + new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); mHandler.sendEmptyMessage(EVENT_UPDATE_STATS); } @@ -227,8 +231,8 @@ public class Status extends InstrumentedPreferenceActivity { public void onPause() { super.onPause(); - unregisterReceiver(mBatteryInfoReceiver); - unregisterReceiver(mConnectivityReceiver); + getContext().unregisterReceiver(mBatteryInfoReceiver); + getContext().unregisterReceiver(mConnectivityReceiver); mHandler.removeMessages(EVENT_UPDATE_STATS); } diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java index e6bf6b892c3..6abf67d0eb8 100644 --- a/src/com/android/settings/wifi/WifiAPITest.java +++ b/src/com/android/settings/wifi/WifiAPITest.java @@ -16,6 +16,8 @@ package com.android.settings.wifi; +import static android.content.Context.WIFI_SERVICE; + import android.app.AlertDialog; import android.content.DialogInterface; import android.net.wifi.WifiManager; @@ -25,15 +27,16 @@ import android.support.v7.preference.PreferenceScreen; import android.text.Editable; import android.widget.EditText; -import com.android.settings.PreferenceActivity; +import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; /** * Provide an interface for testing out the Wifi API */ -public class WifiAPITest extends PreferenceActivity implements -Preference.OnPreferenceClickListener { +public class WifiAPITest extends SettingsPreferenceFragment implements + Preference.OnPreferenceClickListener { private static final String TAG = "WifiAPITest"; private int netid; @@ -58,15 +61,14 @@ Preference.OnPreferenceClickListener { //============================ @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - onCreatePreferences(); mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); } - - private void onCreatePreferences() { + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.layout.wifi_api_test); final PreferenceScreen preferenceScreen = getPreferenceScreen(); @@ -82,6 +84,11 @@ Preference.OnPreferenceClickListener { } + @Override + protected int getMetricsCategory() { + return MetricsEvent.TESTING; + } + //============================ // Preference callbacks //============================ @@ -99,11 +106,11 @@ Preference.OnPreferenceClickListener { if (pref == mWifiDisconnect) { mWifiManager.disconnect(); } else if (pref == mWifiDisableNetwork) { - AlertDialog.Builder alert = new AlertDialog.Builder(this); + AlertDialog.Builder alert = new AlertDialog.Builder(getContext()); alert.setTitle("Input"); alert.setMessage("Enter Network ID"); // Set an EditText view to get user input - final EditText input = new EditText(this); + final EditText input = new EditText(getPrefContext()); alert.setView(input); alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { @@ -125,11 +132,11 @@ Preference.OnPreferenceClickListener { }); alert.show(); } else if (pref == mWifiEnableNetwork) { - AlertDialog.Builder alert = new AlertDialog.Builder(this); + AlertDialog.Builder alert = new AlertDialog.Builder(getContext()); alert.setTitle("Input"); alert.setMessage("Enter Network ID"); // Set an EditText view to get user input - final EditText input = new EditText(this); + final EditText input = new EditText(getPrefContext()); alert.setView(input); alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { diff --git a/src/com/android/settings/wifi/WifiInfo.java b/src/com/android/settings/wifi/WifiInfo.java index a431a82f69b..373a58755ff 100644 --- a/src/com/android/settings/wifi/WifiInfo.java +++ b/src/com/android/settings/wifi/WifiInfo.java @@ -18,19 +18,24 @@ package com.android.settings.wifi; import android.os.Bundle; -import com.android.settings.PreferenceActivity; +import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; /** * Wifi information menu item on the diagnostic screen */ -public class WifiInfo extends PreferenceActivity { +public class WifiInfo extends SettingsPreferenceFragment { @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.testing_wifi_settings); } + @Override + protected int getMetricsCategory() { + return MetricsEvent.TESTING; + } } |