diff options
Diffstat (limited to 'src/com/android/settings/SettingsActivity.java')
-rw-r--r-- | src/com/android/settings/SettingsActivity.java | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 332d9b3..d5c53a4 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -41,12 +41,14 @@ import android.nfc.Tag; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.os.Process; import android.os.UserHandle; import android.os.UserManager; import android.preference.Preference; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.preference.PreferenceScreen; +import android.provider.Settings.Global; import android.text.TextUtils; import android.transition.TransitionManager; import android.util.ArrayMap; @@ -83,6 +85,8 @@ import com.android.settings.blacklist.BlacklistSettings; import com.android.settings.bluetooth.BluetoothSettings; import com.android.settings.contributors.ContributorsCloudFragment; import com.android.settings.cyanogenmod.DisplayRotation; +import com.android.settings.cyanogenmod.LiveLockScreenSettings; +import com.android.settings.cyanogenmod.WeatherServiceSettings; import com.android.settings.dashboard.DashboardCategory; import com.android.settings.dashboard.DashboardSummary; import com.android.settings.dashboard.DashboardTile; @@ -136,6 +140,7 @@ import com.android.settings.wifi.SavedAccessPointsWifiSettings; import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.p2p.WifiP2pSettings; +import cyanogenmod.app.CMContextConstants; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -277,6 +282,7 @@ public class SettingsActivity extends Activity R.id.display_and_lights_settings, R.id.lockscreen_settings, R.id.notification_manager, + R.id.status_bar_settings, R.id.storage_settings, R.id.application_settings, R.id.battery_settings, @@ -294,7 +300,6 @@ public class SettingsActivity extends Activity R.id.home_settings, R.id.dashboard, R.id.privacy_settings_cyanogenmod, - R.id.button_settings }; private static final String[] ENTRY_FRAGMENTS = { @@ -375,7 +380,9 @@ public class SettingsActivity extends Activity BlacklistSettings.class.getName(), ProfilesSettings.class.getName(), ContributorsCloudFragment.class.getName(), - NotificationManagerSettings.class.getName() + NotificationManagerSettings.class.getName(), + LiveLockScreenSettings.class.getName(), + WeatherServiceSettings.class.getName() }; @@ -637,7 +644,7 @@ public class SettingsActivity extends Activity 1 /* one home activity by default */); } else { if (!mIsShowingDashboard) { - mDisplaySearch = true; + mDisplaySearch = Process.myUid() == Process.SYSTEM_UID; // UP will be shown only if it is a sub settings if (mIsShortcut) { mDisplayHomeAsUpEnabled = isSubSettings; @@ -1260,9 +1267,7 @@ public class SettingsActivity extends Activity DashboardTile tile = category.getTile(n); boolean removeTile = false; id = (int) tile.id; - if (id == R.id.operator_settings || id == R.id.manufacturer_settings - || id == R.id.device_specific_gesture_settings - || id == R.id.oclick) { + if (id == R.id.operator_settings || id == R.id.manufacturer_settings) { if (!Utils.updateTileToSpecificActivityFromMetaDataOrRemove(this, tile)) { removeTile = true; } @@ -1326,6 +1331,14 @@ public class SettingsActivity extends Activity if (!hasDeviceKeys) { removeTile = true; } + } else if (id == R.id.weather_settings) { + final boolean showWeatherMenu = getResources() + .getBoolean(R.bool.config_showWeatherMenu); + + if (!getPackageManager().hasSystemFeature( + CMContextConstants.Features.WEATHER_SERVICES) || !showWeatherMenu) { + removeTile = true; + } } if (UserHandle.MU_ENABLED && UserHandle.myUserId() != 0 @@ -1343,6 +1356,10 @@ public class SettingsActivity extends Activity } private void addExternalTiles(List<DashboardCategory> target) { + if (Global.getInt(getContentResolver(), Global.DEVICE_PROVISIONED, 0) == 0) { + // Don't add external tiles until device is set up. + return; + } Map<Pair<String, String>, DashboardTile> addedCache = new ArrayMap<Pair<String, String>, DashboardTile>(); UserManager userManager = UserManager.get(this); |