summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-02-21 14:09:53 -0800
committerDanesh Mondegarian <daneshm90@gmail.com>2014-06-07 06:59:54 -0700
commit27d5c94c5c57bfb171f518f1e7cebae33c1c22da (patch)
treebd62ed53facdd50ccf4388030bba7d9393536004 /src
parent953e0828b29215bb96b029ec01e6e6a3ae841b1e (diff)
downloadandroid_packages_apps_Trebuchet-27d5c94c5c57bfb171f518f1e7cebae33c1c22da.tar.gz
android_packages_apps_Trebuchet-27d5c94c5c57bfb171f518f1e7cebae33c1c22da.tar.bz2
android_packages_apps_Trebuchet-27d5c94c5c57bfb171f518f1e7cebae33c1c22da.zip
Fix issue where clings didn't appear after set up wizard (issue 13077829)
-> Also removed the db-created as a criteria for showing the clings (this was a bit problematic in some cases and going forward) -> Instead, we use database upgrade as a signal to not show the clings. This is used instead of the above criteria (to prevent old users from seeing the migration cling and losing their data.) -> Stripped some old code related to custom clings that's no longer used. Change-Id: Ib5e5285e5ddbc60e69eb998ee9fd092ae879150d
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherClings.java25
-rw-r--r--src/com/android/launcher3/LauncherProvider.java12
2 files changed, 14 insertions, 23 deletions
diff --git a/src/com/android/launcher3/LauncherClings.java b/src/com/android/launcher3/LauncherClings.java
index f996f1f45..e5e0c1621 100644
--- a/src/com/android/launcher3/LauncherClings.java
+++ b/src/com/android/launcher3/LauncherClings.java
@@ -41,7 +41,6 @@ class LauncherClings {
private static final String FOLDER_CLING_DISMISSED_KEY = "cling_gel.folder.dismissed";
private static final boolean DISABLE_CLINGS = false;
- private static final boolean DISABLE_CUSTOM_CLINGS = true;
private static final int SHOW_CLING_DURATION = 250;
private static final int DISMISS_CLING_DURATION = 200;
@@ -196,8 +195,7 @@ class LauncherClings {
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
return areClingsEnabled() &&
!sharedPrefs.getBoolean(FIRST_RUN_CLING_DISMISSED_KEY, false) &&
- !sharedPrefs.getBoolean(MIGRATION_CLING_DISMISSED_KEY, false) &&
- LauncherAppState.getLauncherProvider().wasNewDbCreated();
+ !sharedPrefs.getBoolean(MIGRATION_CLING_DISMISSED_KEY, false);
}
public void removeFirstRunAndMigrationClings() {
@@ -213,24 +211,6 @@ class LauncherClings {
*/
public void showFirstRunCling() {
if (!skipCustomClingIfNoAccounts()) {
- SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
- // If we're not using the default workspace layout, replace workspace cling
- // with a custom workspace cling (usually specified in an overlay)
- // For now, only do this on tablets
- if (!DISABLE_CUSTOM_CLINGS) {
- if (sharedPrefs.getInt(LauncherProvider.DEFAULT_WORKSPACE_RESOURCE_ID, 0) != 0 &&
- mLauncher.getResources().getBoolean(R.bool.config_useCustomClings)) {
- // Use a custom cling
- View cling = mLauncher.findViewById(R.id.workspace_cling);
- ViewGroup clingParent = (ViewGroup) cling.getParent();
- int clingIndex = clingParent.indexOfChild(cling);
- clingParent.removeViewAt(clingIndex);
- View customCling = mInflater.inflate(R.layout.custom_workspace_cling,
- clingParent, false);
- clingParent.addView(customCling, clingIndex);
- customCling.setId(R.id.workspace_cling);
- }
- }
Cling cling = (Cling) mLauncher.findViewById(R.id.first_run_cling);
if (cling != null) {
String sbHintStr = mLauncher.getFirstRunClingSearchBarHint();
@@ -292,6 +272,7 @@ class LauncherClings {
removeCling(R.id.workspace_cling);
}
}
+
public Cling showFoldersCling() {
SharedPreferences sharedPrefs = mLauncher.getSharedPrefs();
// Enable the clings only if they have not been dismissed before
@@ -316,7 +297,7 @@ class LauncherClings {
public static void synchonouslyMarkFirstRunClingDismissed(Context ctx) {
SharedPreferences prefs = ctx.getSharedPreferences(
- LauncherAppState.getSharedPreferencesKey(), Context.MODE_PRIVATE);
+ LauncherAppState.getSharedPreferencesKey(),Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(LauncherClings.FIRST_RUN_CLING_DISMISSED_KEY, true);
editor.commit();
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index fe6e88dda..46bf3882d 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -75,7 +75,7 @@ public class LauncherProvider extends ContentProvider {
private static final String DATABASE_NAME = "launcher.db";
- private static final int DATABASE_VERSION = 18;
+ private static final int DATABASE_VERSION = 19;
static final String OLD_AUTHORITY = "com.android.launcher2.settings";
static final String AUTHORITY = ProviderConfig.AUTHORITY;
@@ -846,6 +846,16 @@ public class LauncherProvider extends ContentProvider {
}
}
+ if (version < 19) {
+ // We use the db version upgrade here to identify users who may not have seen
+ // clings yet (because they weren't available), but for whom the clings are now
+ // available (tablet users). Because one of the possible cling flows (migration)
+ // is very destructive (wipes out workspaces), we want to prevent this from showing
+ // until clear data. We do so by marking that the clings have been shown.
+ LauncherClings.synchonouslyMarkFirstRunClingDismissed(mContext);
+ version = 19;
+ }
+
if (version != DATABASE_VERSION) {
Log.w(TAG, "Destroying all old data.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_FAVORITES);