mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 02:38:20 +00:00
Add option to create settings shortcut in secret menu
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
||||
<uses-permission android:name="android.permission.INSTALL_SHORTCUT"/>
|
||||
|
||||
<application
|
||||
android:backupAgent=".LauncherBackupAgent"
|
||||
|
||||
@@ -452,4 +452,5 @@
|
||||
<string name="summary_all_apps_google_search">Show Google Search instead of normal apps search</string>
|
||||
<string name="num_hotseat_icons_pref_title">Number of icons in dock</string>
|
||||
<string name="icon_scale_pref_title">Icon scale</string>
|
||||
<string name="add_settings_shortcut_title">Add settings shortcut to home screen</string>
|
||||
</resources>
|
||||
|
||||
@@ -11,4 +11,9 @@
|
||||
android:title="@string/show_debug_info_pref_title"
|
||||
android:defaultValue="false"
|
||||
android:persistent="true" />
|
||||
|
||||
<Preference
|
||||
android:key="addSettingsShortcut"
|
||||
android:title="@string/add_settings_shortcut_title"
|
||||
android:defaultValue="false"/>
|
||||
</PreferenceScreen>
|
||||
@@ -27,10 +27,10 @@ import android.content.res.Resources;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.app.*;
|
||||
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||
import android.support.v4.graphics.drawable.IconCompat;
|
||||
import android.support.v7.preference.ListPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
@@ -306,6 +306,7 @@ public class SettingsActivity extends SettingsBaseActivity implements Preference
|
||||
findPreference(SHOW_PREDICTIONS_PREF).setOnPreferenceChangeListener(this);
|
||||
} else if (getContent() == R.xml.lawnchair_dev_options_preference) {
|
||||
findPreference("kill").setOnPreferenceClickListener(this);
|
||||
findPreference("addSettingsShortcut").setOnPreferenceClickListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -437,6 +438,8 @@ public class SettingsActivity extends SettingsBaseActivity implements Preference
|
||||
return true;
|
||||
} else if ("kill".equals(preference.getKey())) {
|
||||
Utilities.killLauncher();
|
||||
} else if ("addSettingsShortcut".equals(preference.getKey())) {
|
||||
Utilities.pinSettingsShortcut(getActivity());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,9 @@ import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.*;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||
import android.support.v4.graphics.drawable.IconCompat;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
@@ -47,6 +50,7 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import ch.deletescape.lawnchair.LawnchairPreferences;
|
||||
import ch.deletescape.lawnchair.backup.RestoreBackupActivity;
|
||||
import ch.deletescape.lawnchair.settings.ui.SettingsActivity;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
@@ -757,4 +761,14 @@ public final class Utilities {
|
||||
public static String upperCaseFirstLetter(String str) {
|
||||
return str.substring(0, 1).toUpperCase() + str.substring(1);
|
||||
}
|
||||
|
||||
public static void pinSettingsShortcut(Context context) {
|
||||
if (!ShortcutManagerCompat.isRequestPinShortcutSupported(context)) return;
|
||||
ShortcutManagerCompat.requestPinShortcut(context, new ShortcutInfoCompat.Builder(context, "settings")
|
||||
.setIntent(new Intent(context, SettingsActivity.class).setAction(Intent.ACTION_MAIN))
|
||||
.setIcon(IconCompat.createWithResource(context, R.drawable.ic_setting))
|
||||
.setShortLabel(context.getString(R.string.settings_button_text))
|
||||
.setAlwaysBadged()
|
||||
.build(), null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user