Fix bug #16515550 Settings app crashes for intent com.android.settings.QUICK_LAUNCH_SETTINGS

- make it work again (what a code...)

Change-Id: Ic71d8e40ff8a5e0c663fd40655e4f4cc31bc8caf
This commit is contained in:
Fabrice Di Meglio
2014-07-23 20:03:20 -07:00
parent 958d1ee6d5
commit e3ff4d8e92
4 changed files with 17 additions and 9 deletions

View File

@@ -1148,8 +1148,7 @@
</intent-filter>
</activity>
<!-- TODO: Test this once Settings stops crashing for this intent -->
<activity android:name=".quicklaunch.QuickLaunchSettings"
<activity android:name="Settings$QuickLaunchSettingsActivity"
android:label="@string/quick_launch_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -1158,6 +1157,8 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.quicklaunch.QuickLaunchSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>

View File

@@ -93,6 +93,7 @@ public class Settings extends SettingsActivity {
public static class NotificationSettingsActivity extends SettingsActivity { /* empty */ }
public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ }
public static class OtherSoundSettingsActivity extends SettingsActivity { /* empty */ }
public static class QuickLaunchSettingsActivity extends SettingsActivity { /* empty */ }
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
}

View File

@@ -84,6 +84,7 @@ import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.OtherSoundSettings;
import com.android.settings.quicklaunch.QuickLaunchSettings;
import com.android.settings.search.DynamicIndexableContentMonitor;
import com.android.settings.search.Index;
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
@@ -283,7 +284,8 @@ public class SettingsActivity extends Activity
InstalledAppDetails.class.getName(),
BatterySaverSettings.class.getName(),
AppNotificationSettings.class.getName(),
OtherSoundSettings.class.getName()
OtherSoundSettings.class.getName(),
QuickLaunchSettings.class.getName()
};

View File

@@ -103,7 +103,6 @@ public class QuickLaunchSettings extends SettingsPreferenceFragment implements
initShortcutPreferences();
mBookmarksCursor = getActivity().getContentResolver().query(Bookmarks.CONTENT_URI,
sProjection, null, null, null);
getListView().setOnItemLongClickListener(this);
}
@Override
@@ -124,6 +123,7 @@ public class QuickLaunchSettings extends SettingsPreferenceFragment implements
@Override
public void onStop() {
super.onStop();
mBookmarksCursor.close();
}
@@ -131,10 +131,14 @@ public class QuickLaunchSettings extends SettingsPreferenceFragment implements
public void onActivityCreated(Bundle state) {
super.onActivityCreated(state);
getListView().setOnItemLongClickListener(this);
if (state != null) {
// Restore the clear dialog's info
mClearDialogBookmarkTitle = state.getString(CLEAR_DIALOG_BOOKMARK_TITLE);
mClearDialogShortcut = (char) state.getInt(CLEAR_DIALOG_SHORTCUT, 0);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {