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 {