diff options
author | Daisuke Miyakawa <dmiyakawa@google.com> | 2011-01-15 14:58:00 -0800 |
---|---|---|
committer | Daisuke Miyakawa <dmiyakawa@google.com> | 2011-01-17 13:26:45 -0800 |
commit | 79c5fd971e71fe7a7f3037474285c1812e3c2c5b (patch) | |
tree | 2fac0feeed1d425c35804b096d0d6c3e98440bbc | |
parent | 3b9b6533a5e50ed146ec24c084533fa35a2d1d01 (diff) | |
download | packages_apps_Settings-79c5fd971e71fe7a7f3037474285c1812e3c2c5b.zip packages_apps_Settings-79c5fd971e71fe7a7f3037474285c1812e3c2c5b.tar.gz packages_apps_Settings-79c5fd971e71fe7a7f3037474285c1812e3c2c5b.tar.bz2 |
Add WifiPickerActivity for PICK_WIFI_NETWORK
- We disable left pane when PICK_WIFI_NETWORK intent is used.
- Add ButtonBarHandler interface and let SettingsPreferenceFragment
use it instead of Settings. Note that
PreferenceActivity#hasNextButton() and
PreferenceActivity#getNextButton() are currently protected methods,
while Settings' relevants are public.
Bug: 3355247
Change-Id: Ie0fae8a1dbce9c7ce37375dff8395dc09b1cc74e
-rw-r--r-- | AndroidManifest.xml | 11 | ||||
-rw-r--r-- | src/com/android/settings/ButtonBarHandler.java | 27 | ||||
-rw-r--r-- | src/com/android/settings/Settings.java | 2 | ||||
-rw-r--r-- | src/com/android/settings/SettingsPreferenceFragment.java | 4 | ||||
-rw-r--r-- | src/com/android/settings/wifi/WifiPickerActivity.java | 44 |
5 files changed, 84 insertions, 4 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bc58a7e..0f2390c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -110,7 +110,6 @@ <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="android.settings.WIFI_SETTINGS" /> - <action android:name="android.net.wifi.PICK_WIFI_NETWORK" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="com.android.settings.SHORTCUT" /> @@ -125,6 +124,16 @@ android:value="com.android.settings.Settings$WirelessSettingsActivity" /> </activity> + <activity android:name=".wifi.WifiPickerActivity" + android:theme="@android:style/Theme.Holo" + android:clearTaskOnLaunch="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <action android:name="android.net.wifi.PICK_WIFI_NETWORK" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name=".wifi.WifiSettingsForSetupWizardXL" android:theme="@android:style/Theme.Holo.NoActionBar" android:clearTaskOnLaunch="true" diff --git a/src/com/android/settings/ButtonBarHandler.java b/src/com/android/settings/ButtonBarHandler.java new file mode 100644 index 0000000..d61da13 --- /dev/null +++ b/src/com/android/settings/ButtonBarHandler.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2011 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.widget.Button; + +/** + * Interface letting {@link SettingsPreferenceFragment} access to bottom bar inside + * {@link android.preference.PreferenceActivity}. + */ +public interface ButtonBarHandler { + public boolean hasNextButton(); + public Button getNextButton(); +}
\ No newline at end of file diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 613b082..11d8c57 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -34,7 +34,7 @@ import java.util.List; /** * Top-level settings activity to handle single pane and double pane UI layout. */ -public class Settings extends PreferenceActivity { +public class Settings extends PreferenceActivity implements ButtonBarHandler { private static final String META_DATA_KEY_HEADER_ID = "com.android.settings.TOP_LEVEL_HEADER_ID"; diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 0db4f8b..47e31ee 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -158,11 +158,11 @@ public class SettingsPreferenceFragment extends PreferenceFragment } protected boolean hasNextButton() { - return ((Settings)getActivity()).hasNextButton(); + return ((ButtonBarHandler)getActivity()).hasNextButton(); } protected Button getNextButton() { - return ((Settings)getActivity()).getNextButton(); + return ((ButtonBarHandler)getActivity()).getNextButton(); } public void finish() { diff --git a/src/com/android/settings/wifi/WifiPickerActivity.java b/src/com/android/settings/wifi/WifiPickerActivity.java new file mode 100644 index 0000000..7b972fc --- /dev/null +++ b/src/com/android/settings/wifi/WifiPickerActivity.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2011 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.wifi; + +import com.android.settings.ButtonBarHandler; + +import android.content.Intent; +import android.preference.PreferenceActivity; +import android.widget.Button; + +public class WifiPickerActivity extends PreferenceActivity implements ButtonBarHandler { + @Override + public Intent getIntent() { + Intent modIntent = new Intent(super.getIntent()); + modIntent.putExtra(EXTRA_SHOW_FRAGMENT, WifiSettings.class.getName()); + modIntent.putExtra(EXTRA_NO_HEADERS, true); + return modIntent; + } + + @Override + public boolean hasNextButton() { + // PreferenceActivity#hasNextButton() is protected, so we need to expose it here. + return super.hasNextButton(); + } + + @Override + public Button getNextButton() { + // PreferenceActivity#getNextButton() is protected, so we need to expose it here. + return super.getNextButton(); + } +}
\ No newline at end of file |