From e2359c1d8b49cc9fb0a03396ed7b1522b8d6f32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20M=C3=A9tais?= Date: Tue, 19 Dec 2017 13:22:51 +0100 Subject: [PATCH] static shortcuts --- vlc-android/AndroidManifest.xml | 6 +- vlc-android/res/xml/shortcuts.xml | 66 +++++++++++++++++++ .../org/videolan/vlc/gui/MainActivity.java | 28 +++++++- 3 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 vlc-android/res/xml/shortcuts.xml diff --git a/vlc-android/AndroidManifest.xml b/vlc-android/AndroidManifest.xml index 39af27937..9a3dc17ba 100644 --- a/vlc-android/AndroidManifest.xml +++ b/vlc-android/AndroidManifest.xml @@ -74,13 +74,16 @@ android:name="android.max_aspect" android:value="2.1" /> + android:name=".StartActivity" + android:icon="@drawable/icon"> + + @@ -427,7 +430,6 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vlc-android/src/org/videolan/vlc/gui/MainActivity.java b/vlc-android/src/org/videolan/vlc/gui/MainActivity.java index 8b67e1d78..54d7d812e 100644 --- a/vlc-android/src/org/videolan/vlc/gui/MainActivity.java +++ b/vlc-android/src/org/videolan/vlc/gui/MainActivity.java @@ -43,6 +43,7 @@ import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.view.ActionMode; import android.text.TextUtils; +import android.util.Log; import android.view.KeyEvent; import android.view.MenuItem; import android.view.View; @@ -231,8 +232,10 @@ public class MainActivity extends ContentActivity implements FilterQueryProvider @Override protected void onStart() { super.onStart(); - if (mCurrentFragment == null && !currentIdIsExtension()) + if (mCurrentFragment == null && !currentIdIsExtension()) { + mCurrentFragmentId = getIdFromShortcut(); showFragment(mCurrentFragmentId); + } if (mMediaLibrary.isInitiated()) { /* Load media items from database and storage */ if (mScanNeeded && Permissions.canReadStorage()) @@ -245,6 +248,27 @@ public class MainActivity extends ContentActivity implements FilterQueryProvider createExtensionServiceConnection(); } + private int getIdFromShortcut() { + if (!AndroidUtil.isNougatMr1OrLater) return 0; + final Intent intent = getIntent(); + final String action = intent != null ? intent.getAction() : null; + if (!TextUtils.isEmpty(action)) { + switch (action) { + case "vlc.shortcut.video": + return R.id.nav_video; + case "vlc.shortcut.audio": + return R.id.nav_audio; + case "vlc.shortcut.browser": + return R.id.nav_directories; + case "vlc.shortcut.network": + return R.id.nav_network; + default: + return 0; + } + } + return 0; + } + @Override protected void onStop() { super.onStop(); @@ -710,7 +734,7 @@ public class MainActivity extends ContentActivity implements FilterQueryProvider } public boolean idIsExtension(int id) { - return id <= 100; + return id <= 100 && id > 0; } public int getCurrentFragmentId() {