Use Drawer in Settings app
- get rid of PreferenceActivity as much as we can and use fragments instead - add Drawer widget - add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL) - add bypass of fragment's Header validation when launched from the Drawer but *force* validation if external call thru an Intent Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we would have two Home). Also, verified that: - the WiFi settings still work when called from SetupWizard - when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90
This commit is contained in:
@@ -31,7 +31,6 @@ import android.content.pm.ResolveInfo;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -45,6 +44,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.settings.AccountPreference;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.location.LocationSettings;
|
||||
|
||||
@@ -146,7 +146,7 @@ public class ManageAccountsSettings extends AccountPreferenceBase
|
||||
private void startAccountSettings(AccountPreference acctPref) {
|
||||
Bundle args = new Bundle();
|
||||
args.putParcelable(AccountSyncSettings.ACCOUNT_KEY, acctPref.getAccount());
|
||||
((PreferenceActivity) getActivity()).startPreferencePanel(
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(
|
||||
AccountSyncSettings.class.getCanonicalName(), args,
|
||||
R.string.account_sync_settings_title, acctPref.getAccount().name,
|
||||
this, REQUEST_SHOW_SYNC_SETTINGS);
|
||||
@@ -368,7 +368,7 @@ public class ManageAccountsSettings extends AccountPreferenceBase
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
((PreferenceActivity) getActivity()).startPreferencePanel(
|
||||
((SettingsActivity) getActivity()).startPreferencePanel(
|
||||
mClass, null, mTitleRes, null, null, 0);
|
||||
// Hack: announce that the Google account preferences page is launching the location
|
||||
// settings
|
||||
|
Reference in New Issue
Block a user