diff --git a/.travis.yml b/.travis.yml index 248f215..e42ae02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,10 +13,10 @@ android: - tools # The BuildTools version used by your project - - build-tools-21.0.0 + - build-tools-25.0.2 # The SDK version used to compile your project - - android-19 + - android-25 # Additional components - extra-google-google_play_services diff --git a/Sealnote/build.gradle b/Sealnote/build.gradle index b32a6c5..49ab6a7 100644 --- a/Sealnote/build.gradle +++ b/Sealnote/build.gradle @@ -13,12 +13,12 @@ repositories { } android { - compileSdkVersion 19 - buildToolsVersion '21.0.0' + compileSdkVersion 25 + buildToolsVersion '25.0.2' defaultConfig { minSdkVersion 14 - targetSdkVersion 19 + targetSdkVersion 25 versionCode 26 versionName "0.8.6" @@ -71,15 +71,18 @@ tasks.withType(JavaCompile) { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar') + //compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar') - compile 'com.android.support:support-v4:20.0.+' + compile 'com.android.support:support-v4:25.1.1' compile 'com.etsy.android.grid:library:1.0.4' compile 'com.github.gabrielemariotti.cards:library:1.6.0' compile 'com.github.gabrielemariotti.cards:library-extra:1.6.0' compile 'com.nhaarman.listviewanimations:library:2.6.0' - compile 'com.github.codechimp-org.apprater:library:1.0.+' + compile 'com.github.codechimp-org.apprater:library:1.0.32' + compile 'net.zetetic:android-database-sqlcipher:3.3.1-2@aar' + + compile project(':aFileChooser') } diff --git a/Sealnote/libs/armeabi-v7a/libdatabase_sqlcipher.so b/Sealnote/libs/armeabi-v7a/libdatabase_sqlcipher.so deleted file mode 100755 index 54164f8..0000000 Binary files a/Sealnote/libs/armeabi-v7a/libdatabase_sqlcipher.so and /dev/null differ diff --git a/Sealnote/libs/armeabi-v7a/libsqlcipher_android.so b/Sealnote/libs/armeabi-v7a/libsqlcipher_android.so deleted file mode 100755 index 0871db1..0000000 Binary files a/Sealnote/libs/armeabi-v7a/libsqlcipher_android.so and /dev/null differ diff --git a/Sealnote/libs/armeabi-v7a/libstlport_shared.so b/Sealnote/libs/armeabi-v7a/libstlport_shared.so deleted file mode 100755 index 0355c25..0000000 Binary files a/Sealnote/libs/armeabi-v7a/libstlport_shared.so and /dev/null differ diff --git a/Sealnote/libs/armeabi/libdatabase_sqlcipher.so b/Sealnote/libs/armeabi/libdatabase_sqlcipher.so deleted file mode 100755 index fbf1de3..0000000 Binary files a/Sealnote/libs/armeabi/libdatabase_sqlcipher.so and /dev/null differ diff --git a/Sealnote/libs/armeabi/libsqlcipher_android.so b/Sealnote/libs/armeabi/libsqlcipher_android.so deleted file mode 100755 index f56fff7..0000000 Binary files a/Sealnote/libs/armeabi/libsqlcipher_android.so and /dev/null differ diff --git a/Sealnote/libs/armeabi/libstlport_shared.so b/Sealnote/libs/armeabi/libstlport_shared.so deleted file mode 100755 index 00947b2..0000000 Binary files a/Sealnote/libs/armeabi/libstlport_shared.so and /dev/null differ diff --git a/Sealnote/libs/sqlcipher.jar b/Sealnote/libs/sqlcipher.jar deleted file mode 100644 index e35ee64..0000000 Binary files a/Sealnote/libs/sqlcipher.jar and /dev/null differ diff --git a/Sealnote/libs/x86/libdatabase_sqlcipher.so b/Sealnote/libs/x86/libdatabase_sqlcipher.so deleted file mode 100755 index 826443a..0000000 Binary files a/Sealnote/libs/x86/libdatabase_sqlcipher.so and /dev/null differ diff --git a/Sealnote/libs/x86/libsqlcipher_android.so b/Sealnote/libs/x86/libsqlcipher_android.so deleted file mode 100755 index 4d16e4e..0000000 Binary files a/Sealnote/libs/x86/libsqlcipher_android.so and /dev/null differ diff --git a/Sealnote/libs/x86/libstlport_shared.so b/Sealnote/libs/x86/libstlport_shared.so deleted file mode 100755 index a3a6dc5..0000000 Binary files a/Sealnote/libs/x86/libstlport_shared.so and /dev/null differ diff --git a/Sealnote/src/main/java/com/twistedplane/sealnote/BackupActivity.java b/Sealnote/src/main/java/com/twistedplane/sealnote/BackupActivity.java index 362ef88..cd46523 100644 --- a/Sealnote/src/main/java/com/twistedplane/sealnote/BackupActivity.java +++ b/Sealnote/src/main/java/com/twistedplane/sealnote/BackupActivity.java @@ -1,15 +1,18 @@ package com.twistedplane.sealnote; -import android.app.ActionBar; +import android.Manifest; import android.app.Activity; import android.content.Intent; +import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.text.Html; -import android.util.Log; import android.view.View; import android.widget.TextView; + import com.twistedplane.sealnote.storage.BackupUtils; import com.twistedplane.sealnote.utils.FontCache; @@ -24,6 +27,7 @@ public class BackupActivity extends Activity implements BackupUtils.BackupListener { private static final String TAG = "BackupActivity"; private static final int REQUEST_BACKUP = 0x10; + private static final int REQ_PERMISSION_WRITE_EXTERNAL_STORAGE = 1000; @Override protected void onCreate(Bundle savedInstanceState) { @@ -39,9 +43,28 @@ protected void onCreate(Bundle savedInstanceState) { } /** - * Start backup activity + * Request permission then start backup activity */ public void doBackup(View view) { + if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) + != PackageManager.PERMISSION_GRANTED) { + if (ActivityCompat.shouldShowRequestPermissionRationale(this, + Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + makeText(this, R.string.backup_permission_error, LENGTH_SHORT).show(); + } else { + ActivityCompat.requestPermissions(this, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + REQ_PERMISSION_WRITE_EXTERNAL_STORAGE); + } + } else { + doBackup(); + } + } + + /** + * Start backup activity + */ + private void doBackup() { new BackupUtils.BackupTask(this, this).execute(); } @@ -97,4 +120,18 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { findViewById(R.id.backup_progress).setVisibility(View.INVISIBLE); findViewById(R.id.backup_button).setVisibility(View.VISIBLE); } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + switch (requestCode) { + case REQ_PERMISSION_WRITE_EXTERNAL_STORAGE: + if (grantResults.length > 0 && + grantResults[0] == PackageManager.PERMISSION_GRANTED) { + doBackup(); + } else { + makeText(this, getResources().getString(R.string.backup_permission_error), LENGTH_SHORT).show(); + } + break; + } + } } diff --git a/Sealnote/src/main/res/values/strings.xml b/Sealnote/src/main/res/values/strings.xml index 4bfa3eb..8100bd4 100644 --- a/Sealnote/src/main/res/values/strings.xml +++ b/Sealnote/src/main/res/values/strings.xml @@ -154,5 +154,6 @@ Pick Backup File Start Restore Write a Review + Backup unsuccessful! Please give storage permission. diff --git a/aFileChooser/build.gradle b/aFileChooser/build.gradle index a2289f3..a7abb9b 100644 --- a/aFileChooser/build.gradle +++ b/aFileChooser/build.gradle @@ -10,16 +10,16 @@ buildscript { apply plugin: 'com.android.library' dependencies { - compile 'com.android.support:support-v4:20.0.+' + compile 'com.android.support:support-v4:25.1.1' } android { - compileSdkVersion 19 - buildToolsVersion "21.0.0" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 14 - targetSdkVersion 19 + targetSdkVersion 25 } sourceSets {