summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHussein Mohammed <ZidHussein@gmail.com>2017-03-02 09:14:58 +0000
committerMohamed Zenadi <zeapo@users.noreply.github.com>2017-03-02 10:14:58 +0100
commitd888e5e2f25ca1308a5a34a17b5c585edeb30881 (patch)
treed769b4ca54d69d51b8253cac01d10619e14def70
parent46be418c38dc90bdd731b3a5cc6788bf0c3ab2f4 (diff)
Added app shortcuts (#278)
* Added app shortcuts Signed-off-by: Hussein Mohammed <zidhussein@gmail.com> * Added sdk25 to travis
-rw-r--r--.travis.yml2
-rw-r--r--app/build.gradle6
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordStore.java19
-rw-r--r--build.gradle4
4 files changed, 26 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index 4c5d72b2..6c72f1dc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,8 +6,10 @@ android:
- tools
- build-tools-23.0.3
- build-tools-24.0.2
+ - build-tools-25.0.2
- android-23
- android-24
+ - android-25
- extra-google-m2repository
- extra-android-m2repository
diff --git a/app/build.gradle b/app/build.gradle
index 2b713560..8205e16f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -3,12 +3,12 @@ apply from: 'copyLibs.gradle' // enable 'copyLibs.gradle' script plugin
apply plugin: 'eclipse'
android {
- compileSdkVersion 24
- buildToolsVersion '24.0.2'
+ compileSdkVersion 25
+ buildToolsVersion '25.0.2'
defaultConfig {
applicationId "com.zeapo.pwdstore"
minSdkVersion 15
- targetSdkVersion 24
+ targetSdkVersion 25
versionCode 77
versionName "1.2.0.57"
}
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
index 4d3b84e5..c0253b85 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
@@ -6,7 +6,11 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
import android.graphics.Color;
+import android.graphics.drawable.Icon;
+import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.design.widget.Snackbar;
@@ -40,6 +44,7 @@ import org.eclipse.jgit.lib.Repository;
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@@ -51,6 +56,7 @@ public class PasswordStore extends AppCompatActivity {
private Activity activity;
private PasswordFragment plist;
private AlertDialog selectDestinationDialog;
+ private ShortcutManager shortcutManager;
private final static int CLONE_REPO_BUTTON = 401;
private final static int NEW_REPO_BUTTON = 402;
@@ -61,6 +67,8 @@ public class PasswordStore extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
settings = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1)
+ shortcutManager = getSystemService(ShortcutManager.class);
activity = this;
PRNGFixes.apply();
@@ -392,6 +400,17 @@ public class PasswordStore extends AppCompatActivity {
intent.putExtra("NAME", item.toString());
intent.putExtra("FILE_PATH", item.getFile().getAbsolutePath());
intent.putExtra("Operation", "DECRYPT");
+
+ // Adds shortcut
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
+ ShortcutInfo shortcut = new ShortcutInfo.Builder(this, item.getFullPathName())
+ .setShortLabel(item.toString())
+ .setLongLabel(item.getFullPathName() + item.toString())
+ .setIcon(Icon.createWithResource(this, R.drawable.ic_launcher))
+ .setIntent(intent.setAction("DECRYPT_PASS")) // Needs action
+ .build();
+ shortcutManager.addDynamicShortcuts(Arrays.asList(shortcut));
+ }
startActivityForResult(intent, PgpHandler.REQUEST_CODE_DECRYPT_AND_VERIFY);
}
diff --git a/build.gradle b/build.gradle
index f9996e6d..a2122714 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,8 +21,8 @@ allprojects {
}
ext {
- compileSdkVersion = 23
- buildToolsVersion = "23.0.3"
+ compileSdkVersion = 25
+ buildToolsVersion = "25.0.2"
}
subprojects { subproject ->
afterEvaluate{