diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e5df528 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +language: android +sudo: false + +before_script: + - echo no | android create avd --force -n test -t android-21 --abi armeabi-v7a + - emulator -avd test -no-skin -no-audio -no-window & + - android-wait-for-emulator + - adb shell input keyevent 82 & + +android: + components: + # Update Android SDK Tools + - tools + + - build-tools-25.0.1 + - android-25 + + # Support library + - extra-android-support + - extra-android-m2repository + +jdk: + - oraclejdk8 + +sudo: required + +before_install: + - chmod +x gradlew diff --git a/README.md b/README.md index 2ac8e2b..f5188d5 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,30 @@ -

Android App Shortcuts

-

Shortcuts for Android on Pre Nougat 7.1!

- -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2a8eb532d98842f6966bc164a896419a)](https://www.codacy.com/app/micky1995/AndroidShortcuts?utm_source=github.com&utm_medium=referral&utm_content=michelelacorte/AndroidShortcuts&utm_campaign=badger) -[![Twitter](https://img.shields.io/badge/Twitter-@LacorteMichele-blue.svg?style=flat)](https://twitter.com/LacorteMichele) +

-[![API](https://img.shields.io/badge/API-14%2B-yellow.svg?style=flat)](https://android-arsenal.com/api?level=14) +

Shortcuts for Android on Pre Nougat 7.1!

-[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +

+ + + + + + + + + + + +

+

+___ ##WHAT IS ANDROID SHORTCUTS? -The shorctus have a features of Android 7.1 Nougat, and available only for the launcher that implement, in this library, you can implement in your launcher shortcuts starting from API 14! -Whit new communication all developers will only implement shortcuts layout (this library), then it's up to developer to implement their own shortcuts, like Google!!! +The Android App Shortcuts Library have features of Android 7.1 Nougat, you can implement in your launcher shortcuts starting from API 14! +With new communication all developers will only implement shortcuts layout (this library), then it's up to developer to implement their own shortcuts, like Google!!! +In version 1.4.0 library can get shortcuts from app which have API 25 and [Static or Dynamic shortcuts](https://developer.android.com/guide/topics/ui/shortcuts.html) implementation I have also implemented [Force Touch](https://github.com/michelelacorte/ForceTouch) and YOU CAN USE ON CUSTOM LAUNCHER WITH SHORTCUTS!! ##DONATIONS @@ -38,16 +49,20 @@ This project needs you! If you would like to support this project's further deve Of course, you can also choose what you want to donate, all donations are awesome!! Follow this link [Donate](https://www.paypal.me/MicheleLacorte)!! +If you want to contribute you may download [Donation App](https://play.google.com/store/apps/details?id=it.michelelacorte.githubdonation) from Google Play + -#v1.3.0 Preview (Coming Soon!) +#v1.4.0 Preview (Coming Soon!) + +

+ +##v1.3.0 Preview

-##v1.2.0 Preview - -

+##v1.2.0 Preview [Click Here](https://s30.postimg.org/oancibrz5/Screenshot_2017_01_17_18_17_54.png) ##v1.1.0 Preview [Click Here](http://i.giphy.com/26gYBk8pQxudwwWQw.gif) @@ -63,6 +78,13 @@ Of course, you can also choose what you want to donate, all donations are awesom Get it on Google Play +####If you want to help me please download Donation App!! + + +Get it on Google Play + + + ####Or scan QR Code ![alt tag](https://s27.postimg.org/3pj6l0h2r/Android_App_Shortcuts.png) @@ -84,7 +106,7 @@ allprojects { Than add this dependencies ```groovy - compile 'com.github.michelelacorte:AndroidAppShortcuts:1.2.0' + compile 'com.github.michelelacorte:AndroidAppShortcuts:1.3.0' ``` ##DOCUMENTATION @@ -105,7 +127,25 @@ Android API 14+ ##CHANGELOG -**v1.3.0 (Coming Soon!)** +**v1.4.0 (Coming Soon!)** +* Fully support to API 25 App Shortcuts, now app can use [Google implementation method](https://developer.android.com/guide/topics/ui/shortcuts.html)!!! +* New App version 1.4 with some fix, background changed to bring out the Shortcuts. +* Fixed `onShortcutsOptionClickListener`, now remove view parent on click. +* Update class `RemoteShortcuts` + * Added static method `ArrayList getRemoteShortcutsOnAPI25(Activity activity, String targetPackageName, int uid) throws Exception` this method get shortcuts defined in API 25, with [Google SDK](https://developer.android.com/guide/topics/ui/shortcuts.html). + * Update static void `saveRemoteShortcuts(Activity activity, ArrayList listOfShortcuts)` removed unecessary packageName string from method. +* Update class `Shortcuts` + * Added constructor for API 25 `Shortcuts(Bitmap shortcutsImage, Bitmap shortcutsImageBadge, String shortcutsText, String targetClass, String targetPackage, int rank)`. + * Added getter (API 25) `Bitmap getShortcutsImageBadgeBitmap()`. + * Added getter (API 25) `int getRank()`. + * Increase `MAX_CHAR_SHORTCUTS` from 16 to 20. +* Update class `Utils` + * Added method (API 25) `static Bitmap getRoundedBitmapForAPI25(Bitmap bitmap, Drawable packageImage)` for get launcher icon with badge and shadow. +* Fixed some method issue. +* Update `buildToolsVersion` and `dependencies` + + +**v1.3.0** * New App version 1.3 * Added dynamic colored of shortcuts icon! * Update icon in launcher when create shortcuts, Nougat style! See ![alt tag](https://s30.postimg.org/srwgx8koh/Screenshot_2017_01_20_12_45_03.png) @@ -259,3 +299,8 @@ limitations under the License. [Donate $50]: https://www.paypal.me/MicheleLacorte/50 [Donate $100]: https://www.paypal.me/MicheleLacorte/100 [Donate $2799]: https://www.paypal.me/MicheleLacorte/2799 + +## Support on Beerpay +Hey dude! Help me out for a couple of :beers:! + +[![Beerpay](https://beerpay.io/michelelacorte/AndroidAppShortcuts/badge.svg?style=beer-square)](https://beerpay.io/michelelacorte/AndroidAppShortcuts) [![Beerpay](https://beerpay.io/michelelacorte/AndroidAppShortcuts/make-wish.svg?style=flat-square)](https://beerpay.io/michelelacorte/AndroidAppShortcuts?focus=wish) diff --git a/SHORTCUTSLOCALE.md b/SHORTCUTSLOCALE.md index 8388a0d..cb74352 100644 --- a/SHORTCUTSLOCALE.md +++ b/SHORTCUTSLOCALE.md @@ -73,3 +73,13 @@ Than in MainActivity } }); ``` + +If you like new app package image use this method and pass package of activity clicked! +Use it before `shortcutsCreation.createShortcuts()` method! + +```groovy +//Get package image of clicked item +Drawable packageImage = pkgAppsList.get(positionPointed).activityInfo.loadIcon(getPackageManager()); +//Set it with this method! +shortcutsCreation.setPackageImage(packageImage); +``` diff --git a/SHORTCUTSREMOTE.md b/SHORTCUTSREMOTE.md index 5b9c575..0606754 100644 --- a/SHORTCUTSREMOTE.md +++ b/SHORTCUTSREMOTE.md @@ -36,3 +36,13 @@ } ``` +If you like new app package image use this method and pass package of activity clicked! +Use it before `shortcutsCreation.createShortcuts()` method! + +```groovy +//Get package image of clicked item +Drawable packageImage = pkgAppsList.get(positionPointed).activityInfo.loadIcon(getPackageManager()); +//Set it with this method! +shortcutsCreation.setPackageImage(packageImage); +``` + diff --git a/app/build.gradle b/app/build.gradle index 66808fb..2d40f1f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,9 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + lintOptions { + abortOnError false + } } allprojects { @@ -37,4 +40,4 @@ dependencies { testCompile 'junit:junit:4.12' compile project(':library') //compile 'com.github.michelelacorte:AndroidAppShortcuts:1.3.0' -} \ No newline at end of file +} diff --git a/build.gradle b/build.gradle index d3cb11a..5620364 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,6 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' - // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/library/build.gradle b/library/build.gradle index 908ee7f..23c3519 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -23,6 +23,9 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + lintOptions { + abortOnError false + } } dependencies { @@ -34,4 +37,4 @@ dependencies { compile 'com.android.support:palette-v7:25.1.1' testCompile 'junit:junit:4.12' compile 'com.google.code.gson:gson:2.8.0' -} \ No newline at end of file +}