Help menus for several screens.

Bug: 5144896
Change-Id: Ib2f5146f6f62f2a33261bb165c3bf1bf13b22f38
This commit is contained in:
Amith Yamasani
2012-04-23 15:35:36 -07:00
parent c1da7b105a
commit b0b37ae21c
13 changed files with 141 additions and 0 deletions

View File

@@ -38,4 +38,7 @@
<item <item
android:id="@+id/data_usage_menu_metered" android:id="@+id/data_usage_menu_metered"
android:title="@string/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> </menu>

View File

@@ -3941,4 +3941,29 @@
<string name="app_notifications_switch_on">Enabled</string> <string name="app_notifications_switch_on">Enabled</string>
<!-- Label for disabled state "notifications enabled" switch in app details [CHAR LIMIT=10] --> <!-- Label for disabled state "notifications enabled" switch in app details [CHAR LIMIT=10] -->
<string name="app_notifications_switch_off">Disabled</string> <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> </resources>

View File

@@ -377,5 +377,11 @@ public class ChooseLockGeneric extends PreferenceActivity {
} }
finish(); 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.NetworkStatsHistory;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import android.net.TrafficStats; import android.net.TrafficStats;
import android.net.Uri;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.os.INetworkManagementService; import android.os.INetworkManagementService;
@@ -478,6 +479,18 @@ public class DataUsageSummary extends Fragment {
} else { } else {
metered.setVisible(false); 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 @Override

View File

@@ -203,4 +203,9 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
mAutoRestore.setEnabled(enable); mAutoRestore.setEnabled(enable);
mConfigure.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.app.Fragment;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment; import android.preference.PreferenceFragment;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button; import android.widget.Button;
/** /**
@@ -35,13 +41,51 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
private static final String TAG = "SettingsPreferenceFragment"; private static final String TAG = "SettingsPreferenceFragment";
private static final int MENU_HELP = Menu.FIRST + 100;
private SettingsDialogFragment mDialogFragment; 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 @Override
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(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 * The name is intentionally made different from Activity#finish(), so that
* users won't misunderstand its meaning. * users won't misunderstand its meaning.

View File

@@ -339,4 +339,9 @@ public class SoundSettings extends SettingsPreferenceFragment implements
return true; 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()); 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); MenuItem addAccountItem = menu.add(0, MENU_ADD_ACCOUNT, 0, R.string.add_account_label);
addAccountItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM addAccountItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_WITH_TEXT); | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
super.onCreateOptionsMenu(menu, inflater);
} }
@Override @Override
@@ -295,4 +296,9 @@ public class ManageAccountsSettings extends AccountPreferenceBase
intent.putExtra(AUTHORITIES_FILTER_KEY, mAuthorities); intent.putExtra(AUTHORITIES_FILTER_KEY, mAuthorities);
startActivity(intent); 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); .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files) menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
super.onCreateOptionsMenu(menu, inflater);
} }
@Override @Override
@@ -378,4 +379,9 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
preference.setOnSettingsClickListener(mDeviceProfilesListener); 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.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.hardware.SensorManager; import android.hardware.SensorManager;
import android.net.Uri;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.os.BatteryStats.Uid; import android.os.BatteryStats.Uid;
import android.os.Bundle; import android.os.Bundle;
@@ -37,6 +38,7 @@ import android.preference.PreferenceFragment;
import android.preference.PreferenceGroup; import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.telephony.SignalStrength; import android.telephony.SignalStrength;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.Menu; 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_TYPE = Menu.FIRST;
private static final int MENU_STATS_REFRESH = Menu.FIRST + 1; private static final int MENU_STATS_REFRESH = Menu.FIRST + 1;
private static final int MENU_HELP = Menu.FIRST + 2;
private static BatteryStatsImpl sStatsXfer; private static BatteryStatsImpl sStatsXfer;
@@ -318,6 +321,16 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
.setAlphabeticShortcut('r'); .setAlphabeticShortcut('r');
refresh.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | refresh.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |
MenuItem.SHOW_AS_ACTION_WITH_TEXT); 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 @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 class VpnPreference extends Preference {
private VpnProfile mProfile; private VpnProfile mProfile;
private int mState = -1; private int mState = -1;

View File

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