diff options
Diffstat (limited to 'app/src/main/java/org/lineageos/jelly/MainActivity.java')
-rw-r--r-- | app/src/main/java/org/lineageos/jelly/MainActivity.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/app/src/main/java/org/lineageos/jelly/MainActivity.java b/app/src/main/java/org/lineageos/jelly/MainActivity.java index b1d7eef..351e125 100644 --- a/app/src/main/java/org/lineageos/jelly/MainActivity.java +++ b/app/src/main/java/org/lineageos/jelly/MainActivity.java @@ -24,12 +24,15 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; +import android.content.pm.ShortcutInfo; +import android.content.pm.ShortcutManager; import android.content.res.ColorStateList; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; +import android.graphics.drawable.Icon; import android.graphics.drawable.TransitionDrawable; import android.net.Uri; import android.net.http.HttpResponseCache; @@ -666,15 +669,16 @@ public class MainActivity extends WebViewExtActivity implements BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher) : mUrlIcon; Bitmap launcherIcon = UiUtils.getShortcutIcon(icon, getThemeColorWithFallback()); - Intent addIntent = new Intent(); - addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, mWebView.getTitle()); - addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, launcherIcon); - addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent); - addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); - sendBroadcast(addIntent); + String title = mWebView.getTitle(); + ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(this, title) + .setShortLabel(title) + .setIcon(Icon.createWithBitmap(launcherIcon)) + .setIntent(intent) + .build(); + + getSystemService(ShortcutManager.class).requestPinShortcut(shortcutInfo, null); + launcherIcon.recycle(); - Snackbar.make(mCoordinator, getString(R.string.shortcut_added), - Snackbar.LENGTH_LONG).show(); } private void setImmersiveMode(boolean enable) { |