summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/SettingsActivity.java')
-rw-r--r--src/com/android/settings/SettingsActivity.java29
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);