Merge "Help menus for several screens."

This commit is contained in:
Amith Yamasani
2012-04-23 15:38:50 -07:00
committed by Android (Google) Code Review
13 changed files with 141 additions and 0 deletions

View File

@@ -38,4 +38,7 @@
<item
android:id="@+id/data_usage_menu_metered"
android:title="@string/data_usage_menu_metered" />
<item
android:id="@+id/data_usage_menu_help"
android:title="@string/help_label" />
</menu>

View File

@@ -3941,4 +3941,29 @@
<string name="app_notifications_switch_on">Enabled</string>
<!-- Label for disabled state "notifications enabled" switch in app details [CHAR LIMIT=10] -->
<string name="app_notifications_switch_off">Disabled</string>
<!-- Help URLs for some screens. Not specified here. Specified in product overlays --><skip/>
<!-- Help menu label [CHAR LIMIT=20] -->
<string name="help_label">Help</string>
<!-- Help URL, WiFi [DO NOT TRANSLATE] -->
<string name="help_url_wifi" translatable="false"></string>
<!-- Help URL, Bluetooth [DO NOT TRANSLATE] -->
<string name="help_url_bluetooth" translatable="false"></string>
<!-- Help URL, Data usage [DO NOT TRANSLATE] -->
<string name="help_url_data_usage" translatable="false"></string>
<!-- Help URL, More [DO NOT TRANSLATE] -->
<string name="help_url_more_networks" translatable="false"></string>
<!-- Help URL, Vpn [DO NOT TRANSLATE] -->
<string name="help_url_vpn" translatable="false"></string>
<!-- Help URL, Sound [DO NOT TRANSLATE] -->
<string name="help_url_sound" translatable="false"></string>
<!-- Help URL, Battery [DO NOT TRANSLATE] -->
<string name="help_url_battery" translatable="false"></string>
<!-- Help URL, Accounts [DO NOT TRANSLATE] -->
<string name="help_url_accounts" translatable="false"></string>
<!-- Help URL, Choose lockscreen [DO NOT TRANSLATE] -->
<string name="help_url_choose_lockscreen" translatable="false"></string>
<!-- Help URL, Backup & reset [DO NOT TRANSLATE] -->
<string name="help_url_backup_reset" translatable="false"></string>
</resources>

View File

@@ -377,5 +377,11 @@ public class ChooseLockGeneric extends PreferenceActivity {
}
finish();
}
@Override
protected int getHelpResource() {
return R.string.help_url_choose_lockscreen;
}
}
}

View File

@@ -76,6 +76,7 @@ import android.net.NetworkStats;
import android.net.NetworkStatsHistory;
import android.net.NetworkTemplate;
import android.net.TrafficStats;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.INetworkManagementService;
@@ -478,6 +479,18 @@ public class DataUsageSummary extends Fragment {
} else {
metered.setVisible(false);
}
final MenuItem help = menu.findItem(R.id.data_usage_menu_help);
String helpUrl;
if (!TextUtils.isEmpty(helpUrl = getResources().getString(R.string.help_url_data_usage))) {
Intent helpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(helpUrl));
helpIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
help.setIntent(helpIntent);
help.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
} else {
help.setVisible(false);
}
}
@Override

View File

@@ -203,4 +203,9 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
mAutoRestore.setEnabled(enable);
mConfigure.setEnabled(enable);
}
@Override
protected int getHelpResource() {
return R.string.help_url_backup_reset;
}
}

View File

@@ -21,11 +21,17 @@ import android.app.DialogFragment;
import android.app.Fragment;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button;
/**
@@ -35,13 +41,51 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
private static final String TAG = "SettingsPreferenceFragment";
private static final int MENU_HELP = Menu.FIRST + 100;
private SettingsDialogFragment mDialogFragment;
private String mHelpUrl;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Prepare help url and enable menu if necessary
int helpResource = getHelpResource();
if (helpResource != 0) {
mHelpUrl = getResources().getString(helpResource);
if (!TextUtils.isEmpty(mHelpUrl)) {
setHasOptionsMenu(true);
}
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
/**
* Override this if you want to show a help item in the menu, by returning the resource id.
* @return the resource id for the help url
*/
protected int getHelpResource() {
return 0;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if (mHelpUrl != null) {
Intent helpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mHelpUrl));
helpIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
MenuItem helpItem = menu.add(0, MENU_HELP, 0, R.string.help_label);
helpItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
helpItem.setIntent(helpIntent);
}
}
/*
* The name is intentionally made different from Activity#finish(), so that
* users won't misunderstand its meaning.

View File

@@ -339,4 +339,9 @@ public class SoundSettings extends SettingsPreferenceFragment implements
return true;
}
@Override
protected int getHelpResource() {
return R.string.help_url_sound;
}
}

View File

@@ -201,4 +201,9 @@ public class WirelessSettings extends SettingsPreferenceFragment {
mAirplaneModePreference.isChecked());
}
}
@Override
protected int getHelpResource() {
return R.string.help_url_more_networks;
}
}

View File

@@ -163,6 +163,7 @@ public class ManageAccountsSettings extends AccountPreferenceBase
MenuItem addAccountItem = menu.add(0, MENU_ADD_ACCOUNT, 0, R.string.add_account_label);
addAccountItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
@@ -295,4 +296,9 @@ public class ManageAccountsSettings extends AccountPreferenceBase
intent.putExtra(AUTHORITIES_FILTER_KEY, mAuthorities);
startActivity(intent);
}
@Override
protected int getHelpResource() {
return R.string.help_url_accounts;
}
}

View File

@@ -182,6 +182,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
@@ -378,4 +379,9 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
preference.setOnSettingsClickListener(mDeviceProfilesListener);
}
}
@Override
protected int getHelpResource() {
return R.string.help_url_bluetooth;
}
}

View File

@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.SensorManager;
import android.net.Uri;
import android.os.BatteryStats;
import android.os.BatteryStats.Uid;
import android.os.Bundle;
@@ -37,6 +38,7 @@ import android.preference.PreferenceFragment;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.telephony.SignalStrength;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.view.Menu;
@@ -72,6 +74,7 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
private static final int MENU_STATS_TYPE = Menu.FIRST;
private static final int MENU_STATS_REFRESH = Menu.FIRST + 1;
private static final int MENU_HELP = Menu.FIRST + 2;
private static BatteryStatsImpl sStatsXfer;
@@ -318,6 +321,16 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
.setAlphabeticShortcut('r');
refresh.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |
MenuItem.SHOW_AS_ACTION_WITH_TEXT);
String helpUrl;
if (!TextUtils.isEmpty(helpUrl = getResources().getString(R.string.help_url_battery))) {
final MenuItem help = menu.add(0, MENU_HELP, 0, R.string.help_label);
Intent helpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(helpUrl));
helpIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
help.setIntent(helpIntent);
help.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
}
}
@Override

View File

@@ -464,6 +464,11 @@ public class VpnSettings extends SettingsPreferenceFragment implements
}
}
@Override
protected int getHelpResource() {
return R.string.help_url_vpn;
}
private class VpnPreference extends Preference {
private VpnProfile mProfile;
private int mState = -1;

View File

@@ -879,4 +879,9 @@ public class WifiSettings extends SettingsPreferenceFragment
mScanner.resume();
}
}
@Override
protected int getHelpResource() {
return R.string.help_url_wifi;
}
}