Version 1.16: Accessory View and Black theme

Accessory View and Black theme
This commit is contained in:
Vlad Mihalachi 2015-03-15 09:26:28 +01:00
parent 3ee11e0bfb
commit 60395106e5
21 changed files with 536 additions and 319 deletions

View File

@ -27,8 +27,8 @@ android {
applicationId "com.maskyn.fileeditorpro"
minSdkVersion 11
targetSdkVersion 22
versionCode 39
versionName "1.15.1"
versionCode 41
versionName "1.16"
}
compileOptions {

View File

@ -46,8 +46,8 @@ android {
applicationId "com.maskyn.fileeditor"
minSdkVersion 11
targetSdkVersion 22
versionCode 39
versionName "1.15.1"
versionCode 41
versionName "1.16"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7

View File

@ -26,7 +26,6 @@
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<supports-screens
android:anyDensity="true"

View File

@ -21,25 +21,25 @@ package com.maskyn.fileeditor;
import android.app.Activity;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
/*import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;*/
public class AdsHelper {
private InterstitialAd interstitial;
//private InterstitialAd interstitial;
public AdsHelper(Activity activity) {
interstitial = new InterstitialAd(activity);
/*interstitial = new InterstitialAd(activity);
interstitial.setAdUnitId("ca-app-pub-5679083452234719/7178038180");
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
interstitial.loadAd(adRequest);*/
}
public void displayInterstitial() {
interstitial.show();
//interstitial.show();
}
}

View File

@ -1,6 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<items version="2" >
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar"
jumboMode="false"
revision="21.1.2"
sha1="b1b6ea3b7e4aa4f492509a4952029cd8e48019ad">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-io-2.4-b13b4a70538d465dbbcce6e080f59071eeb53a3a.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
jumboMode="false"
@ -8,13 +15,6 @@
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-041d055cf4bc0ac183d528da81f21df261f58a2c.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="2c91c949a45a21cdecf26e03951e46c7beec9ad8">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-e010b6ec2ae97c8d5cf66327f984fb7645e2eacb.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
@ -23,11 +23,18 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-79cb61d649f7a1282ccdca5a55d9edef09b984d7.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.0.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="d84409890828e07d344a3b9b1da545dba9897b51">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-3726532928848ef5a12ebc7905a3d82e28012937.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="2c91c949a45a21cdecf26e03951e46c7beec9ad8">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-e010b6ec2ae97c8d5cf66327f984fb7645e2eacb.jar" />
sha1="5365d91f442ac54c37a5ae3ebbcd82d9f43835e9">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-7af851cddf38d5159407b847c0234eebc467ba34.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.1.2/classes.jar"
@ -44,25 +51,53 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/library-2.4.0-fcd7bf57330797c3eaeb05d042207c4ab7ecac63.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.1.0/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.2.2/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="0bb0df3bf333801406f32bdfba678bcbd38cb9ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-dda140fb3d64731d445f409c3466c69c68a4c02e.jar" />
revision="22.0.0"
sha1="1014d409d1af641616ca7a2b3fda549cf559d605">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-4d2059402647551080b92ee08cfa8e2709951308.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.0/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
revision="21.1.2"
sha1="86a04f40b5e28f11d108171131bed57ae1443f35">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-62dddcf21ebf8aa7fd0c965537a5ae5a1fd7b969.jar" />
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-6da18fe8b14fd219de988c9272910bd26b1433a2.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/libs/internal_impl-21.0.3.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/libs/internal_impl-22.0.0.jar"
jumboMode="false"
revision="22.0.0"
sha1="b5b92f469d515a13d778900f6d50c03d12f35504">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/internal_impl-22.0.0-950fadfea66a62e3838db9ba6085f186484f3fd7.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="01ec05bfbafcc07646ba813000bf2ef11742dd03">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/internal_impl-21.0.3-ab55349e2b318433bbd1b9509fde0bfb9f3c372f.jar" />
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-f678c74688f3e132a975f931e58b6be06968cfee.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
revision="22.0.0"
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/juniversalchardet-1.0.3-sources-08233ec55ae40a14eee152277d92bd7fdc527036.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="8fc5121de38525c53e82648c80cf0a9818b956ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-567cc94c1061e5bc592616d8e4440a4415900d04.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="5f8b3de6e00b82a3937c97aa571ca2e05a4075d6">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-7af851cddf38d5159407b847c0234eebc467ba34.jar" />
</item>
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar"
@ -78,13 +113,6 @@
sha1="e9b63380f3a242dbdbf103a2355ad7e43bad17cb">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/library-2.4.0-fcd7bf57330797c3eaeb05d042207c4ab7ecac63.jar" />
</item>
<item
jar="/Users/mac/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/21.0.3/support-annotations-21.0.3.jar"
jumboMode="false"
revision="21.1.2"
sha1="4b74cefe1f0c1b819e7260c8627a14674e37fd35">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/support-annotations-21.0.3-e2493a76c5db00c85422b927024315e9561ca8d8.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
@ -99,188 +127,6 @@
sha1="2c3d4d7b9f51d8f85dd121d722fcdce37b6f5752">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-d2f158f0c6d8e71984e1b2f52f7c248ddf421cff.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.2.0/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="9c91cd2b5773b33e4cfe8ababb6544b54ef40335">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-4d6daab8bd3370426d7d391572234952433e55d7.jar" />
</item>
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.1/905075e6c80f206bbe6cf1e809d2caa69f420c76/commons-lang3-3.1.jar"
jumboMode="false"
revision="22.0.0"
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-lang3-3.1-b10c93b68b275dbbda03ac96f3dca1760aaa7c91.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="8fc5121de38525c53e82648c80cf0a9818b956ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-567cc94c1061e5bc592616d8e4440a4415900d04.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/libs/internal_impl-21.0.3.jar"
jumboMode="false"
revision="22.0.0"
sha1="01ec05bfbafcc07646ba813000bf2ef11742dd03">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/internal_impl-21.0.3-ab55349e2b318433bbd1b9509fde0bfb9f3c372f.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
revision="21.1.2"
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-sources-08233ec55ae40a14eee152277d92bd7fdc527036.jar" />
</item>
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.1/905075e6c80f206bbe6cf1e809d2caa69f420c76/commons-lang3-3.1.jar"
jumboMode="false"
revision="21.1.2"
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-lang3-3.1-b10c93b68b275dbbda03ac96f3dca1760aaa7c91.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
revision="22.0.0"
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-79cb61d649f7a1282ccdca5a55d9edef09b984d7.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="81d42bf983a8741f4888a6e333e454e4a5e0eeb7">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-096ca18c795fd9315d22d85121daaf850f388b92.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-378a7c750e497deeb602597a239d4846198295a3.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.2.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="0a4af6a85230b990eb8690b696d2db9247338611">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-42f23abde068c6b52800c8bf4e7ef109c6e55a17.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="260866dd1d6c762019f0d580cc0263b84187529f">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-d2f158f0c6d8e71984e1b2f52f7c248ddf421cff.jar" />
</item>
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar"
jumboMode="false"
revision="21.1.2"
sha1="b1b6ea3b7e4aa4f492509a4952029cd8e48019ad">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-io-2.4-b13b4a70538d465dbbcce6e080f59071eeb53a3a.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/libs/internal_impl-21.0.3.jar"
jumboMode="false"
revision="21.1.2"
sha1="01ec05bfbafcc07646ba813000bf2ef11742dd03">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/internal_impl-21.0.3-7de4c60d78937ee823b527a87284cb0180cf25ee.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="5365d91f442ac54c37a5ae3ebbcd82d9f43835e9">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-7af851cddf38d5159407b847c0234eebc467ba34.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.2.2/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="1014d409d1af641616ca7a2b3fda549cf559d605">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-4d2059402647551080b92ee08cfa8e2709951308.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.1.0/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="4d100f9e146f538d729d698a994c74c7b5fb886e">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-b6208f732cbe2fed2537cf18d4454b88f40f0fec.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
revision="21.1.2"
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-6da18fe8b14fd219de988c9272910bd26b1433a2.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
revision="22.0.0"
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/juniversalchardet-1.0.3-sources-08233ec55ae40a14eee152277d92bd7fdc527036.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-f678c74688f3e132a975f931e58b6be06968cfee.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="2c91c949a45a21cdecf26e03951e46c7beec9ad8">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-98a4bd0d9f8dfeb621543952baf59b084db0948d.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="8fc5121de38525c53e82648c80cf0a9818b956ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-567cc94c1061e5bc592616d8e4440a4415900d04.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="260866dd1d6c762019f0d580cc0263b84187529f">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-7af851cddf38d5159407b847c0234eebc467ba34.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/libs/internal_impl-21.0.3.jar"
jumboMode="false"
revision="22.0.0"
sha1="01ec05bfbafcc07646ba813000bf2ef11742dd03">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/internal_impl-21.0.3-7de4c60d78937ee823b527a87284cb0180cf25ee.jar" />
</item>
<item
jar="/Users/mac/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/21.0.3/support-annotations-21.0.3.jar"
jumboMode="false"
revision="22.0.0"
sha1="4b74cefe1f0c1b819e7260c8627a14674e37fd35">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/support-annotations-21.0.3-e2493a76c5db00c85422b927024315e9561ca8d8.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/6.5.87/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="95482e7c792a7c0d5a9d5461e97726bd54fe9549">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-09a7a54569ddd0a2cfe86e92052f042d6061d86d.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/6.5.87/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="41aa21f9c5d9ea9aab32c0b8e33d0c13364063a9">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-5dc7ddf1e19c0471d2fa00010871c051400145a0.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
jumboMode="false"
@ -296,18 +142,11 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-d7c3cbd32b25008f71bfaf501c6d05efb73f9642.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="81d42bf983a8741f4888a6e333e454e4a5e0eeb7">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-39520468bbb3432f5f87a4442f5acf79e2176c84.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.1/905075e6c80f206bbe6cf1e809d2caa69f420c76/commons-lang3-3.1.jar"
jumboMode="false"
revision="22.0.0"
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-378a7c750e497deeb602597a239d4846198295a3.jar" />
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-lang3-3.1-b10c93b68b275dbbda03ac96f3dca1760aaa7c91.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
@ -316,6 +155,20 @@
sha1="8fc5121de38525c53e82648c80cf0a9818b956ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-8e353cdc5188a33b2ae051656b4023deec32169f.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-378a7c750e497deeb602597a239d4846198295a3.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/RootCommands/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="8fc5121de38525c53e82648c80cf0a9818b956ff">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-567cc94c1061e5bc592616d8e4440a4415900d04.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
@ -324,11 +177,25 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-sources-5e24cec968c377cba49fe4f60ed376fcd62b5a1b.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/libs/internal_impl-22.0.0.jar"
jumboMode="false"
revision="22.0.0"
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-f678c74688f3e132a975f931e58b6be06968cfee.jar" />
sha1="b5b92f469d515a13d778900f6d50c03d12f35504">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/internal_impl-22.0.0-8e4bec8e3b4291ac0db9e13c91712da1382d6183.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
revision="21.1.2"
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-sources-08233ec55ae40a14eee152277d92bd7fdc527036.jar" />
</item>
<item
jar="/Users/mac/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.1/905075e6c80f206bbe6cf1e809d2caa69f420c76/commons-lang3-3.1.jar"
jumboMode="false"
revision="21.1.2"
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/commons-lang3-3.1-b10c93b68b275dbbda03ac96f3dca1760aaa7c91.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
@ -337,6 +204,27 @@
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-041d055cf4bc0ac183d528da81f21df261f58a2c.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/turbo-editor.libraries/FloatingActionButton/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="66cee5a65742fef58c1dcdc0b892042f7bb1530b">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-f678c74688f3e132a975f931e58b6be06968cfee.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="4e86306289ace4aa0cfec44a05ed2b410d36989d">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-e35aaa30c2e17c8aa077d511449f51f547413bb5.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3.jar"
jumboMode="false"
revision="22.0.0"
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-79cb61d649f7a1282ccdca5a55d9edef09b984d7.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/libs/juniversalchardet-1.0.3-sources.jar"
jumboMode="false"
@ -345,25 +233,32 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/juniversalchardet-1.0.3-sources-5e24cec968c377cba49fe4f60ed376fcd62b5a1b.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/classes.jar"
jar="/Users/mac/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar"
jumboMode="false"
revision="22.0.0"
sha1="685d0b2c590447e85284ed84712cb363ba04eff8">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/support-annotations-22.0.0-80c86d146355d4d279469a404f782b1bd07b46c1.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="81d42bf983a8741f4888a6e333e454e4a5e0eeb7">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-096ca18c795fd9315d22d85121daaf850f388b92.jar" />
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/debug/classes-378a7c750e497deeb602597a239d4846198295a3.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/6.5.87/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="41aa21f9c5d9ea9aab32c0b8e33d0c13364063a9">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-5dc7ddf1e19c0471d2fa00010871c051400145a0.jar" />
sha1="4e86306289ace4aa0cfec44a05ed2b410d36989d">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-194b23722786c1f86861c47dc7e443be92926efe.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.2.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="81d42bf983a8741f4888a6e333e454e4a5e0eeb7">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-39520468bbb3432f5f87a4442f5acf79e2176c84.jar" />
sha1="0a4af6a85230b990eb8690b696d2db9247338611">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-42f23abde068c6b52800c8bf4e7ef109c6e55a17.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
@ -373,18 +268,11 @@
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-f7e6e66fb7bff101be54521eaf14ae1fefb60f08.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/6.5.87/classes.jar"
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.0.0/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="95482e7c792a7c0d5a9d5461e97726bd54fe9549">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app/build/intermediates/pre-dexed/release/classes-09a7a54569ddd0a2cfe86e92052f042d6061d86d.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/classes.jar"
jumboMode="false"
revision="21.1.2"
sha1="2c91c949a45a21cdecf26e03951e46c7beec9ad8">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-98a4bd0d9f8dfeb621543952baf59b084db0948d.jar" />
sha1="d84409890828e07d344a3b9b1da545dba9897b51">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-dbef6ce37451815a58d937e4389124a74998d3d0.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/com.github.gabrielemariotti.changeloglib/library/1.5.1/classes.jar"
@ -393,5 +281,12 @@
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/debug/classes-f7e6e66fb7bff101be54521eaf14ae1fefb60f08.jar" />
</item>
<item
jar="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/exploded-aar/turbo-editor.libraries/sharedCode/unspecified/classes.jar"
jumboMode="false"
revision="22.0.0"
sha1="5f8b3de6e00b82a3937c97aa571ca2e05a4075d6">
<dex dex="/Users/mac/AndroidStudioProjects/turbo-editor/app-pro/build/intermediates/pre-dexed/release/classes-d2f158f0c6d8e71984e1b2f52f7c248ddf421cff.jar" />
</item>
</items>

Binary file not shown.

View File

@ -99,6 +99,7 @@ import sharedcode.turboeditor.texteditor.PageSystemButtons;
import sharedcode.turboeditor.texteditor.Patterns;
import sharedcode.turboeditor.texteditor.SearchResult;
import sharedcode.turboeditor.util.AccessStorageApi;
import sharedcode.turboeditor.util.AccessoryView;
import sharedcode.turboeditor.util.AnimationUtils;
import sharedcode.turboeditor.util.AppInfoHelper;
import sharedcode.turboeditor.util.IHomeActivity;
@ -112,7 +113,7 @@ import sharedcode.turboeditor.views.GoodScrollView;
public abstract class MainActivity extends ActionBarActivity implements IHomeActivity, FindTextDialog
.SearchDialogInterface, GoodScrollView.ScrollInterface, PageSystem.PageSystemInterface,
PageSystemButtons.PageButtonsInterface, NumberPickerDialog.INumberPickerDialog, SaveFileDialog.ISaveDialog,
AdapterView.OnItemClickListener, AdapterDrawer.Callbacks{
AdapterView.OnItemClickListener, AdapterDrawer.Callbacks, AccessoryView.IAccessoryView{
//region VARIABLES
private static final int READ_REQUEST_CODE = 42;
@ -132,14 +133,14 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
new Runnable() {
@Override
public void run() {
mEditor.replaceTextKeepCursor(null, true);
mEditor.replaceTextKeepCursor(null);
}
};
private static final Runnable colorRunnable_duringScroll =
new Runnable() {
@Override
public void run() {
mEditor.replaceTextKeepCursor(null, false);
mEditor.replaceTextKeepCursor(null);
}
};
private static boolean fileOpened = false;
@ -630,6 +631,8 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
horizontalScroll = (HorizontalScrollView) findViewById(R.id.horizontal_scroll);
mEditor = (Editor) findViewById(R.id.editor);
AccessoryView accessoryView = (AccessoryView) findViewById(R.id.accessoryView);
accessoryView.setInterface(this);
//mEditor.setLayerType(View.LAYER_TYPE_NONE, null);
if (PreferenceHelper.getWrapContent(this)) {
@ -660,7 +663,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
invalidateOptionsMenu();
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText(), false);
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText());
mEditor.enableTextChangedListener();
}
@ -673,7 +676,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
findViewById(R.id.no_file_opened_messagge).setVisibility(View.VISIBLE);
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor("", false);
mEditor.replaceTextKeepCursor("");
mEditor.enableTextChangedListener();
} catch (Exception e) {
// lol
@ -786,7 +789,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
//region EVENTBUS
public void newFileToOpen(final File newFile, final String newFileText) {
if (fileOpened && mEditor.canSaveFile()) {
if (fileOpened && mEditor != null && mEditor.canSaveFile()) {
SaveFileDialog.newInstance(sFilePath, pageSystem.getAllText(mEditor
.getText().toString()), currentEncoding, true, newFile.getAbsolutePath()).show(getFragmentManager(),
"dialog");
@ -953,6 +956,8 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
if (types.contains(PreferenceChangeType.THEME_CHANGE)) {
ThemeUtils.setWindowsBackground(this);
AccessoryView accessoryView = (AccessoryView) findViewById(R.id.accessoryView);
accessoryView.updateTextColors();
}
if (types.contains(PreferenceChangeType.WRAP_CONTENT)) {
@ -967,7 +972,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
}
} else if (types.contains(PreferenceChangeType.LINE_NUMERS)) {
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(null, true);
mEditor.replaceTextKeepCursor(null);
mEditor.enableTextChangedListener();
if (PreferenceHelper.getLineNumbers(this)) {
mEditor.setPadding(
@ -984,7 +989,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
}
} else if (types.contains(PreferenceChangeType.SYNTAX)) {
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(null, true);
mEditor.replaceTextKeepCursor(null);
mEditor.enableTextChangedListener();
} else if (types.contains(PreferenceChangeType.MONOSPACE)) {
if (PreferenceHelper.getUseMonospace(this))
@ -1039,14 +1044,14 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
try {
final byte[] oldText = mEditor.getText().toString().getBytes(oldEncoding);
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(new String(oldText, newEncoding), true);
mEditor.replaceTextKeepCursor(new String(oldText, newEncoding));
mEditor.enableTextChangedListener();
currentEncoding = newEncoding;
} catch (UnsupportedEncodingException ignored) {
try {
final byte[] oldText = mEditor.getText().toString().getBytes(oldEncoding);
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(new String(oldText, "UTF-16"), true);
mEditor.replaceTextKeepCursor(new String(oldText, "UTF-16"));
mEditor.enableTextChangedListener();
} catch (UnsupportedEncodingException ignored2) {
}
@ -1109,7 +1114,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
pageSystem.savePage(mEditor.getText().toString());
pageSystem.nextPage();
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText(), false);
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText());
mEditor.enableTextChangedListener();
verticalScroll.postDelayed(new Runnable() {
@ -1131,7 +1136,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
pageSystem.savePage(mEditor.getText().toString());
pageSystem.prevPage();
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText(), false);
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText());
mEditor.enableTextChangedListener();
verticalScroll.postDelayed(new Runnable() {
@ -1220,7 +1225,7 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
pageSystem.savePage(mEditor.getText().toString());
pageSystem.goToPage(value);
mEditor.disableTextChangedListener();
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText(), true);
mEditor.replaceTextKeepCursor(pageSystem.getCurrentPageText());
mEditor.enableTextChangedListener();
verticalScroll.postDelayed(new Runnable() {
@ -1261,6 +1266,12 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
if (andCloseOpenedFile)
cannotOpenFile();
}
@Override
public void onButtonAccessoryViewClicked(String text) {
mEditor.getText().insert(mEditor.getSelectionStart(), text);
}
//endregion
public static class Editor extends EditText {
@ -1658,10 +1669,11 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
canSaveFile = false;
}
public void replaceTextKeepCursor(String textToUpdate, boolean mantainCursorPos) {
public void replaceTextKeepCursor(String textToUpdate) {
int cursorPos;
int cursorPosEnd;
if (textToUpdate != null) {
cursorPos = 0;
cursorPosEnd = 0;
@ -1682,6 +1694,8 @@ public abstract class MainActivity extends ActionBarActivity implements IHomeAct
enableTextChangedListener();
boolean mantainCursorPos = cursorPos >= firstVisibleIndex && cursorPos <= lastVisibleIndex;
if (mantainCursorPos)
firstVisibleIndex = cursorPos;

View File

@ -49,6 +49,7 @@ public class EncodingDialog extends DialogFragment implements AdapterView.OnItem
Constants.CHARSET_ISO_2022_CN,
Constants.CHARSET_ISO_2022_JP,
Constants.CHARSET_ISO_2022_KR,
"ISO-8859-2",
Constants.CHARSET_ISO_8859_5,
Constants.CHARSET_ISO_8859_7,
Constants.CHARSET_ISO_8859_8,

View File

@ -0,0 +1,81 @@
/*
* Copyright (C) 2014 Vlad Mihalachi
*
* This file is part of Turbo Editor.
*
* Turbo Editor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Turbo Editor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package sharedcode.turboeditor.dialogfragment;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import sharedcode.turboeditor.R;
import sharedcode.turboeditor.preferences.PreferenceHelper;
public class ThemeDialog extends DialogFragment implements AdapterView.OnItemClickListener {
private ListView list;
public static ThemeDialog newInstance() {
final ThemeDialog f = new ThemeDialog();
return f;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_theme_list, null);
list = (ListView) view.findViewById(android.R.id.list);
String[] themes = {
getString(R.string.theme_dark), getString(R.string.light_theme), getString(R.string.theme_black)
};
list.setAdapter(new ArrayAdapter<>(getActivity(), R.layout.item_single_choice, themes));
list.setOnItemClickListener(this);
int currentTheme = PreferenceHelper.getTheme(getActivity());
for (int i = 0; i < themes.length; i++) {
if (i == currentTheme)
list.setItemChecked(i, true);
}
return new AlertDialog.Builder(getActivity())
.setView(view)
.create();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DialogListener target = (DialogListener) getTargetFragment();
if (target == null) {
target = (DialogListener) getActivity();
}
target.onThemeSelected(position);
this.dismiss();
}
public interface DialogListener {
void onThemeSelected(int result);
}
}

View File

@ -57,8 +57,20 @@ public final class PreferenceHelper {
return getPrefs(context).getBoolean("editor_wrap_content", true);
}
public static int getTheme(Context context) {
return getPrefs(context).getInt("theme", 0);
}
public static boolean getDarkTheme(Context context) {
return getPrefs(context).getInt("theme", 0) == 0;
}
public static boolean getLightTheme(Context context) {
return getPrefs(context).getBoolean("light_theme", false);
return getPrefs(context).getInt("theme", 0) == 1;
}
public static boolean getBlackTheme(Context context) {
return getPrefs(context).getInt("theme", 0) == 2;
}
public static boolean getSuggestionActive(Context context) {
@ -158,8 +170,8 @@ public final class PreferenceHelper {
getEditor(context).putBoolean("has_donated", value).commit();
}
public static void setLightTheme(Context context, boolean value) {
getEditor(context).putBoolean("light_theme", value).commit();
public static void setTheme(Context context, int value) {
getEditor(context).putInt("theme", value).commit();
}
public static void setSuggestionsActive(Context context, boolean value) {
@ -179,7 +191,7 @@ public final class PreferenceHelper {
}
public static void setSendErrorReport(Context context, boolean value) {
getEditor(context).putBoolean("ignore_back_button", value).commit();
getEditor(context).putBoolean("send_error_reports", value).commit();
}
public static void setEncoding(Context context, String value) {

View File

@ -20,6 +20,8 @@
package sharedcode.turboeditor.preferences;
import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.widget.SwitchCompat;
import android.view.LayoutInflater;
@ -32,9 +34,11 @@ import sharedcode.turboeditor.R;
import sharedcode.turboeditor.activity.MainActivity;
import sharedcode.turboeditor.dialogfragment.EncodingDialog;
import sharedcode.turboeditor.dialogfragment.NumberPickerDialog;
import sharedcode.turboeditor.dialogfragment.ThemeDialog;
import sharedcode.turboeditor.util.ProCheckUtils;
import sharedcode.turboeditor.util.ViewUtils;
public class SettingsFragment extends Fragment implements NumberPickerDialog.INumberPickerDialog, EncodingDialog.DialogListener {
public class SettingsFragment extends Fragment implements NumberPickerDialog.INumberPickerDialog, EncodingDialog.DialogListener, ThemeDialog.DialogListener {
// Editor Variables
private boolean sLineNumbers;
@ -43,7 +47,6 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
private boolean sUseMonospace;
private boolean sReadOnly;
private boolean sLightTheme;
private boolean sSuggestions;
private boolean sAutoSave;
private boolean sIgnoreBackButton;
@ -59,7 +62,6 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
sLineNumbers = PreferenceHelper.getLineNumbers(getActivity());
sReadOnly = PreferenceHelper.getReadOnly(getActivity());
sLightTheme = PreferenceHelper.getLightTheme(getActivity());
sSuggestions = PreferenceHelper.getSuggestionActive(getActivity());
sAutoSave = PreferenceHelper.getAutoSave(getActivity());
sIgnoreBackButton = PreferenceHelper.getIgnoreBackButton(getActivity());
@ -73,7 +75,7 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
// Our custom layout
final View rootView = inflater.inflate(R.layout.fragment_settings, container, false);
final SwitchCompat swLineNumbers, swSyntax, swWrapContent, swMonospace, swReadOnly;
final SwitchCompat swLightTheme, swSuggestions, swAutoSave, swIgnoreBackButton, swSplitText, swErrorReports;
final SwitchCompat swSuggestions, swAutoSave, swIgnoreBackButton, swSplitText, swErrorReports;
swLineNumbers = (SwitchCompat) rootView.findViewById(R.id.switch_line_numbers);
swSyntax = (SwitchCompat) rootView.findViewById(R.id.switch_syntax);
@ -81,7 +83,6 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
swMonospace = (SwitchCompat) rootView.findViewById(R.id.switch_monospace);
swReadOnly = (SwitchCompat) rootView.findViewById(R.id.switch_read_only);
swLightTheme = (SwitchCompat) rootView.findViewById(R.id.switch_light_theme);
swSuggestions = (SwitchCompat) rootView.findViewById(R.id.switch_suggestions_active);
swAutoSave = (SwitchCompat) rootView.findViewById(R.id.switch_auto_save);
swIgnoreBackButton = (SwitchCompat) rootView.findViewById(R.id.switch_ignore_backbutton);
@ -94,17 +95,31 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
swMonospace.setChecked(sUseMonospace);
swReadOnly.setChecked(sReadOnly);
swLightTheme.setChecked(sLightTheme);
swSuggestions.setChecked(sSuggestions);
swAutoSave.setChecked(sAutoSave);
swIgnoreBackButton.setChecked(sIgnoreBackButton);
swSplitText.setChecked(sSplitText);
swErrorReports.setChecked(sErrorReports);
TextView fontSizeView, encodingView, donateView, extraOptionsView;
TextView fontSizeView, encodingView, extraOptionsView, themeView, goPro;
goPro = (TextView) rootView.findViewById(R.id.drawer_button_go_pro);
fontSizeView = (TextView) rootView.findViewById(R.id.drawer_button_font_size);
encodingView = (TextView) rootView.findViewById(R.id.drawer_button_encoding);
extraOptionsView = (TextView) rootView.findViewById(R.id.drawer_button_extra_options);
themeView = (TextView) rootView.findViewById(R.id.drawer_button_theme);
ViewUtils.setVisible(goPro, !ProCheckUtils.isPro(getActivity()));
goPro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String appPackageName = "com.maskyn.fileeditorpro";
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
}
});
swLineNumbers.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
@ -183,11 +198,12 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
}
});
swLightTheme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
themeView.setOnClickListener(new View.OnClickListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
PreferenceHelper.setLightTheme(getActivity(), isChecked);
((MainActivity) getActivity()).aPreferenceValueWasChanged(PreferenceChangeType.THEME_CHANGE);
public void onClick(View v) {
ThemeDialog dialogFrag = ThemeDialog.newInstance();
dialogFrag.setTargetFragment(SettingsFragment.this, 0);
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
}
});
@ -242,4 +258,10 @@ public class SettingsFragment extends Fragment implements NumberPickerDialog.INu
PreferenceHelper.setEncoding(getActivity(), result);
((MainActivity) getActivity()).aPreferenceValueWasChanged(PreferenceChangeType.ENCODING);
}
@Override
public void onThemeSelected(int result) {
PreferenceHelper.setTheme(getActivity(), result);
((MainActivity) getActivity()).aPreferenceValueWasChanged(PreferenceChangeType.THEME_CHANGE);
}
}

View File

@ -55,17 +55,20 @@ public class Patterns {
"(!|,|\\(|\\)|\\+|\\-|\\*|<|>|=|\\.|\\?|;|\\{|\\}|\\[|\\]|\\|)");
public static final Pattern NUMBERS_OR_SYMBOLS = Pattern.compile(NUMBERS.pattern()+"|"+SYMBOLS.pattern());
public static final Pattern GENERAL_KEYWORDS = Pattern.compile(
"\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitorbool|break|case|catch|char|"
+ "char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype"
+ "|default|delete|do|double|dynamic_cast|echo|else|enum|explicit|export|extern|"
+ "false|float|for|friend|function|goto|if|inline|int|mutable|namespace|new|noexcept|"
+ "not|not_eq|null|nullptr|operator|or|or_eq|private|protected|public|register|"
+ "reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast"
+ "|struct|switch|template|this|thread_local|throw|true|try|typedef|typeid|typename|undefined"
+ "|union|unsigned|using|var|virtual|void|volatile|wchar_t|while|xor|xor_eq|)\\b", Pattern.CASE_INSENSITIVE);
"(?<=\\b)((alignas)|(alignof)|(and)|(and_eq)|(asm)|(auto)|(bitand)|(bitorbool)|(break)|(case)|(catch)|(char)|("
+ "char16_t)|(char32_t)|(class)|(compl)|(const)|(constexpr)|(const_cast)|(continue)|(decltype"
+ ")|(default)|(delete)|(do)|(double)|(dynamic_cast)|(echo)|(else)|(enum)|(explicit)|(export)|(extern)|("
+ "false)|(float)|(for)|(friend)|(function)|(goto)|(if)|(inline)|(int)|(mutable)|(namespace)|(new)|(noexcept)|("
+ "not)|(not_eq)|(null)|(nullptr)|(operator)|(or)|(or_eq)|(private)|(protected)|(public)|(register)|("
+ "reinterpret_cast)|(return)|(short)|(signed)|(sizeof)|(static)|(static_assert)|(static_cast"
+ ")|(struct)|(switch)|(template)|(this)|(thread_local)|(throw)|(true)|(try)|(typedef)|(typeid)|(typename)|(undefined"
+ ")|(union)|(unsigned)|(using)|(var)|(virtual)|(void)|(volatile)|(wchar_t)|(while)|(xor)|(xor_eq))(?=\\b)", Pattern.CASE_INSENSITIVE);
public static final Pattern PY_KEYWORDS = Pattern.compile(
"\\b(int|float|long|complex|str|unicode|list|tuple|bytearray|buffer|xrange|set|frozenset|dict|bool)|(True|False|None|self|NotImplemented|Ellipsis|__debug__|__file__)|(and|del|from|not|while|as|elif|global|or|with|assert|else|if|pass|yield|break|except|import|print|class|exec|in|raise|continue|finally|is|return|def|for|lambda|try)|(ArithmeticError|AssertionError|AttributeError|BaseException|DeprecationWarning|EnvironmentError|EOFError|Exception|FloatingPointError|FutureWarning|GeneratorExit|IOError|ImportError|ImportWarning|IndexError|KeyError|KeyboardInterrupt|LookupError|MemoryError|NameError|NotImplementedError|OSError|OverflowError|PendingDeprecationWarning|ReferenceError|RuntimeError|RuntimeWarning|StandardError|StopIteration|SyntaxError|SyntaxWarning|SystemError|SystemExit|TypeError|UnboundLocalError|UserWarning|UnicodeError|UnicodeWarning|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ValueError|Warning|WindowsError|ZeroDivisionError)\\b", Pattern.CASE_INSENSITIVE);
"(?<=\\b)((int)|(float)|(long)|(complex)|(str)|(unicode)|(list)|(tuple)|(bytearray)|(buffer)|(xrange)|(set)|(frozenset)|(dict)|(bool)" +
"|(True)|(False)|(None)|(self)|(NotImplemented)|(Ellipsis)|(__debug__)|(__file__)" +
"|(and)|(del)|(from)|(not)|(while)|(as)|(elif)|(global)|(or)|(with)|(assert)|(else)|(if)|(pass)|(yield)|(break)|(except)|(import)|(print)|(class)|(exec)|(in)|(raise)|(continue)|(finally)|(is)|(return)|(def)|(for)|(lambda)|(try)" +
"|(ArithmeticError)|(AssertionError)|(AttributeError)|(BaseException)|(DeprecationWarning)|(EnvironmentError)|(EOFError)|(Exception)|(FloatingPointError)|(FutureWarning)|(GeneratorExit)|(IOError)|(ImportError)|(ImportWarning)|(IndexError)|(KeyError)|(KeyboardInterrupt)|(LookupError)|(MemoryError)|(NameError)|(NotImplementedError)|(OSError)|(OverflowError)|(PendingDeprecationWarning)|(ReferenceError)|(RuntimeError)|(RuntimeWarning)|(StandardError)|(StopIteration)|(SyntaxError)|(SyntaxWarning)|(SystemError)|(SystemExit)|(TypeError)|(UnboundLocalError)|(UserWarning)|(UnicodeError)|(UnicodeWarning)|(UnicodeEncodeError)|(UnicodeDecodeError)|(UnicodeTranslateError)|(ValueError)|(Warning)|(WindowsError)|(ZeroDivisionError))(?=\\b)", Pattern.CASE_INSENSITIVE);
public static final Pattern LUA_KEYWORDS = Pattern.compile(
"@[A-Za-z0-9_\\.]*|\\b(local|global|boolean|number|userdata)\\b|\\b(true|false|nil)\\b|\\b(return|then|while|and|break|do|else|elseif|end|for|function|if|in|not|or|repeat|until|thread|table)\\b" +
@ -82,7 +85,7 @@ public class Patterns {
public static final Pattern GENERAL_COMMENTS_NO_SLASH = Pattern.compile(
"/\\*(?:.|[\\n\\r])*?\\*/|#.*");
public static final Pattern SQL_KEYWORDS = Pattern.compile(
"\\b(ADD|EXCEPT|PERCENT|ALL|EXEC|PLAN|ALTER|EXECUTE|PRECISION|AND|EXISTS|PRIMARY|ANY|EXIT|PRINT|AS|FETCH|PROC|ASC|FILE|PROCEDURE|AUTHORIZATION|FILLFACTOR|PUBLIC|BACKUP|FOR|RAISERROR|BEGIN|FOREIGN|READ|BETWEEN|FREETEXT|READTEXT|BREAK|FREETEXTTABLE|RECONFIGURE|BROWSE|FROM|REFERENCES|BULK|FULL|REPLICATION|BY|FUNCTION|RESTORE|CASCADE|GOTO|RESTRICT|CASE|GRANT|RETURN|CHECK|GROUP|REVOKE|CHECKPOINT|HAVING|RIGHT|CLOSE|HOLDLOCK|ROLLBACK|CLUSTERED|IDENTITY|ROWCOUNT|COALESCE|IDENTITY_INSERT|ROWGUIDCOL|COLLATE|IDENTITYCOL|RULE|COLUMN|IF|SAVE|COMMIT|IN|SCHEMA|COMPUTE|INDEX|SELECT|CONSTRAINT|INNER|SESSION_USER|CONTAINS|INSERT|SET|CONTAINSTABLE|INTERSECT|SETUSER|CONTINUE|INTO|SHUTDOWN|CONVERT|IS|SOME|CREATE|JOIN|STATISTICS|CROSS|KEY|SYSTEM_USER|CURRENT|KILL|TABLE|CURRENT_DATE|LEFT|TEXTSIZE|CURRENT_TIME|LIKE|THEN|CURRENT_TIMESTAMP|LINENO|TO|CURRENT_USER|LOAD|TOP|CURSOR|NATIONAL|TRAN|DATABASE|NOCHECK|TRANSACTION|DBCC|NONCLUSTERED|TRIGGER|DEALLOCATE|NOT|TRUNCATE|DECLARE|NULL|TSEQUAL|DEFAULT|NULLIF|UNION|DELETE|OF|UNIQUE|DENY|OFF|UPDATE|DESC|OFFSETS|UPDATETEXT|DISK|ON|USE|DISTINCT|OPEN|USER|DISTRIBUTED|OPENDATASOURCE|VALUES|DOUBLE|OPENQUERY|VARYING|DROP|OPENROWSET|VIEW|DUMMY|OPENXML|WAITFOR|DUMP|OPTION|WHEN|ELSE|OR|WHERE|END|ORDER|WHILE|ERRLVL|OUTER|WITH|ESCAPE|OVER|WRITETEXT)\\b", Pattern.CASE_INSENSITIVE);
"(?<=\\b)((ADD)|(EXCEPT)|(PERCENT)|(ALL)|(EXEC)|(PLAN)|(ALTER)|(EXECUTE)|(PRECISION)|(AND)|(EXISTS)|(PRIMARY)|(ANY)|(EXIT)|(PRINT)|(AS)|(FETCH)|(PROC)|(ASC)|(FILE)|(PROCEDURE)|(AUTHORIZATION)|(FILLFACTOR)|(PUBLIC)|(BACKUP)|(FOR)|(RAISERROR)|(BEGIN)|(FOREIGN)|(READ)|(BETWEEN)|(FREETEXT)|(READTEXT)|(BREAK)|(FREETEXTTABLE)|(RECONFIGURE)|(BROWSE)|(FROM)|(REFERENCES)|(BULK)|(FULL)|(REPLICATION)|(BY)|(FUNCTION)|(RESTORE)|(CASCADE)|(GOTO)|(RESTRICT)|(CASE)|(GRANT)|(RETURN)|(CHECK)|(GROUP)|(REVOKE)|(CHECKPOINT)|(HAVING)|(RIGHT)|(CLOSE)|(HOLDLOCK)|(ROLLBACK)|(CLUSTERED)|(IDENTITY)|(ROWCOUNT)|(COALESCE)|(IDENTITY_INSERT)|(ROWGUIDCOL)|(COLLATE)|(IDENTITYCOL)|(RULE)|(COLUMN)|(IF)|(SAVE)|(COMMIT)|(IN)|(SCHEMA)|(COMPUTE)|(INDEX)|(SELECT)|(CONSTRAINT)|(INNER)|(SESSION_USER)|(CONTAINS)|(INSERT)|(SET)|(CONTAINSTABLE)|(INTERSECT)|(SETUSER)|(CONTINUE)|(INTO)|(SHUTDOWN)|(CONVERT)|(IS)|(SOME)|(CREATE)|(JOIN)|(STATISTICS)|(CROSS)|(KEY)|(SYSTEM_USER)|(CURRENT)|(KILL)|(TABLE)|(CURRENT_DATE)|(LEFT)|(TEXTSIZE)|(CURRENT_TIME)|(LIKE)|(THEN)|(CURRENT_TIMESTAMP)|(LINENO)|(TO)|(CURRENT_USER)|(LOAD)|(TOP)|(CURSOR)|(NATIONAL)|(TRAN)|(DATABASE)|(NOCHECK)|(TRANSACTION)|(DBCC)|(NONCLUSTERED)|(TRIGGER)|(DEALLOCATE)|(NOT)|(TRUNCATE)|(DECLARE)|(NULL)|(TSEQUAL)|(DEFAULT)|(NULLIF)|(UNION)|(DELETE)|(OF)|(UNIQUE)|(DENY)|(OFF)|(UPDATE)|(DESC)|(OFFSETS)|(UPDATETEXT)|(DISK)|(ON)|(USE)|(DISTINCT)|(OPEN)|(USER)|(DISTRIBUTED)|(OPENDATASOURCE)|(VALUES)|(DOUBLE)|(OPENQUERY)|(VARYING)|(DROP)|(OPENROWSET)|(VIEW)|(DUMMY)|(OPENXML)|(WAITFOR)|(DUMP)|(OPTION)|(WHEN)|(ELSE)|(OR)|(WHERE)|(END)|(ORDER)|(WHILE)|(ERRLVL)|(OUTER)|(WITH)|(ESCAPE)|(OVER)|(WRITETEXT))(?=\\b)", Pattern.CASE_INSENSITIVE);
public static final Pattern LINK = android.util.Patterns.WEB_URL;

View File

@ -0,0 +1,123 @@
/*
* Copyright (C) 2014 Vlad Mihalachi
*
* This file is part of Turbo Editor.
*
* Turbo Editor is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Turbo Editor is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package sharedcode.turboeditor.util;
import android.content.Context;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import sharedcode.turboeditor.R;
import sharedcode.turboeditor.preferences.PreferenceHelper;
/**
* Created by mac on 15/02/15.
*/
public class AccessoryView extends LinearLayout {
public IAccessoryView iAccessoryView;
private TypedValue outValue;
public AccessoryView(Context context) {
super(context);
init();
}
public AccessoryView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public AccessoryView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
setOrientation(HORIZONTAL);
createView();
}
public void setInterface(IAccessoryView iBreadcrumb) {
this.iAccessoryView = iBreadcrumb;
}
public void createView() {
removeAllViews();
// If we're running on Honeycomb or newer, then we can use the Theme's
// selectableItemBackground to ensure that the View has a pressed state
outValue = new TypedValue();
getContext().getTheme().resolveAttribute(R.attr.selectableItemBackgroundBorderless, outValue, true);
String[] characters = {
"<", ">", "!", "/", ".", ";", "=", "\"", "{", "}", "[", "]", "(", ")", "&", "|", "#", "*", "+", "-", ":", "%", ",", "_", "@", "?", "^", "'",
};
for (int i = 0; i < characters.length; i++)
addAButton(characters[i]);
updateTextColors();
}
private void addAButton(final String text) {
int dimension = (int) PixelDipConverter.convertDpToPixel(50, getContext());
//int padding = (int) PixelDipConverter.convertDpToPixel(10, getContext());
final Button name = new Button(getContext());
name.setLayoutParams(new LinearLayout.LayoutParams(dimension, dimension));
name.setGravity(Gravity.CENTER);
name.setText(text);
name.setTextSize(15);
name.setAllCaps(true);
//name.setPadding(padding, padding, padding, padding);
name.setClickable(true);
name.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
iAccessoryView.onButtonAccessoryViewClicked(text);
}
});
name.setBackgroundResource(outValue.resourceId);
addView(name);
}
public void updateTextColors() {
boolean isLightTheme = PreferenceHelper.getLightTheme(getContext());
for (int i = 0; i < getChildCount(); i++) {
((Button) getChildAt(i)).setTextColor(isLightTheme ? getResources().getColor(android.R.color.background_dark) : getResources().getColor(android.R.color.white));
}
}
public interface IAccessoryView {
public void onButtonAccessoryViewClicked(String text);
}
}

View File

@ -25,11 +25,11 @@ public class ProCheckUtils {
public static boolean isPro(Context context, boolean includeDonations) {
// happy new year
return true;
return context.getPackageName().equals("com.maskyn.fileeditorpro");
/*
if (Build.FOR_AMAZON)
return true;
else if (context.getPackageName().equals("com.maskyn.fileeditorpro"))
else if ()
return true;
else if (includeDonations && PreferenceHelper.hasDonated(context))
return true;

View File

@ -35,21 +35,16 @@ public class ThemeUtils {
}
}
public static void setPreferenceTheme(Activity activity){
boolean light = PreferenceHelper.getLightTheme(activity);
if (light) {
activity.setTheme(R.style.PreferenceLight);
} else {
activity.setTheme(R.style.PreferenceDark);
}
}
public static void setWindowsBackground(Activity activity) {
boolean whiteTheme = PreferenceHelper.getLightTheme(activity);
boolean darkTheme = PreferenceHelper.getDarkTheme(activity);
boolean blackTheme = PreferenceHelper.getBlackTheme(activity);
if (whiteTheme) {
activity.getWindow().setBackgroundDrawableResource(R.color.window_background_light);
} else {
} else if (darkTheme) {
activity.getWindow().setBackgroundDrawableResource(R.color.window_background);
} else {
activity.getWindow().setBackgroundDrawableResource(android.R.color.black);
}
}
}

View File

@ -58,7 +58,8 @@
android:scrollbars="vertical"
android:fillViewport="true"
android:id="@id/vertical_scroll"
android:background="@null">
android:background="@null"
android:layout_marginBottom="50dp">
<HorizontalScrollView
android:layout_height="wrap_content"
@ -82,14 +83,14 @@
android:text=""
android:textIsSelectable="true" />
</HorizontalScrollView>
</sharedcode.turboeditor.views.GoodScrollView>
</sharedcode.turboeditor.views.GoodScrollView>
<com.faizmalkani.floatingactionbutton.FloatingActionButton
android:id="@+id/fabNext"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_gravity="bottom|right"
android:layout_marginBottom="16dp"
android:layout_marginBottom="66dp"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:visibility="invisible"/>
@ -99,11 +100,23 @@
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_gravity="bottom|right"
android:layout_marginBottom="16dp"
android:layout_marginBottom="66dp"
android:layout_marginRight="100dp"
android:layout_marginEnd="90dp"
android:visibility="invisible"/>
<HorizontalScrollView
android:layout_height="50dp"
android:layout_width="match_parent"
android:scrollbars="horizontal"
android:layout_gravity="bottom"
android:fillViewport="false">
<sharedcode.turboeditor.util.AccessoryView
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/accessoryView"></sharedcode.turboeditor.util.AccessoryView>
</HorizontalScrollView>
</FrameLayout>
</LinearLayout>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2014 Vlad Mihalachi
~
~ This file is part of Turbo Editor.
~
~ Turbo Editor is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ Turbo Editor is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"/>
</LinearLayout>

View File

@ -32,6 +32,21 @@
android:orientation="vertical"
>
<TextView
android:id="@id/drawer_button_go_pro"
android:layout_width="match_parent"
android:layout_height="72dp"
android:text="@string/donation_action"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:gravity="center_vertical"
android:textSize="12sp"
android:clickable="true"
android:background="?selectableItemBackground"
android:textColor="@color/indigo"/>
<android.support.v7.widget.SwitchCompat
android:gravity="center_vertical"
android:layout_width="match_parent"
@ -115,11 +130,10 @@
android:text="@string/font_size"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:gravity="center_vertical"
android:textSize="12sp"
android:clickable="true"
android:background="?selectableItemBackground"
android:textColor="@color/navigation_drawer_button_text_color_inverted"/>
@ -147,18 +161,19 @@
android:visibility="gone"
android:orientation="vertical">
<android.support.v7.widget.SwitchCompat
android:gravity="center_vertical"
<TextView
android:id="@id/drawer_button_theme"
android:layout_width="match_parent"
android:layout_height="56dp"
android:text="@string/light_theme"
android:textSize="12sp"
android:id="@id/switch_light_theme"
android:layout_gravity="center_horizontal"
android:paddingEnd="16dp"
android:text="@string/theme"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:gravity="center_vertical"
android:textSize="12sp"
android:clickable="true"
android:background="?selectableItemBackground"
android:textColor="@color/navigation_drawer_button_text_color_inverted"/>
<android.support.v7.widget.SwitchCompat

View File

@ -20,7 +20,15 @@
<changelog bulletedList="true">
<changelogversion versionName="1.15" changeDate="Oct 30, 2014">
<changelogversion versionName="1.16" changeDate="Mar 14, 2015">
<changelogtext>Happy PI day!</changelogtext>
<changelogtext>Added the Accessory View (now you can input more easily special symbols!)</changelogtext>
<changelogtext>Added a Black theme!</changelogtext>
<changelogtext>Added ISO-8859-2 encoding</changelogtext>
<changelogtext>Bug fixes</changelogtext>
</changelogversion>
<changelogversion versionName="1.15" changeDate="Mar 13, 2015">
<changelogtext>It is a "beta" release, feel free to send you feedback on github.com!</changelogtext>
<changelogtext>Added Save As! (and rename option)</changelogtext>
<changelogtext>Added Replace All!</changelogtext>

View File

@ -76,7 +76,6 @@
<item type="id" name="switch_syntax"/>
<item type="id" name="switch_wrap_content"/>
<item type="id" name="switch_monospace"/>
<item type="id" name="switch_light_theme"/>
<item type="id" name="switch_suggestions_active"/>
<item type="id" name="switch_auto_save"/>
<item type="id" name="switch_read_only"/>
@ -86,6 +85,7 @@
<item type="id" name="switch_send_error_reports"/>
<item type="id" name="drawer_button_go_pro"/>
<item type="id" name="drawer_button_theme"/>
<item type="id" name="drawer_button_encoding"/>
<item type="id" name="drawer_button_font_size"/>
<item name="im_select_folder" type="id" />

View File

@ -75,4 +75,7 @@
<string name="new_file">New file</string>
<string name="delete_current_file">Delete current file</string>
<string name="replace_all">Replace all</string>
<string name="theme">Theme</string>
<string name="theme_dark">Dark theme</string>
<string name="theme_black">Black theme</string>
</resources>