Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
b359950e34 | |||
614274c7d6 | |||
78407c292a |
@ -20,15 +20,15 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 20
|
||||
buildToolsVersion '20.0.0'
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion '21.0.2'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.maskyn.fileeditorpro"
|
||||
minSdkVersion 11
|
||||
targetSdkVersion 19
|
||||
versionCode 29
|
||||
versionName "1.12"
|
||||
targetSdkVersion 21
|
||||
versionCode 35
|
||||
versionName "1.13.2"
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
@ -39,7 +39,7 @@
|
||||
android:hardwareAccelerated="true"
|
||||
android:largeHeap="true"
|
||||
android:supportsRtl="true"
|
||||
android:name="sharedcode.turboeditor.activity.MyApp"
|
||||
android:name="sharedcode.turboeditor.application.MyApp"
|
||||
>
|
||||
|
||||
<!-- android:alwaysRetainTaskState="true" -->
|
||||
|
@ -19,11 +19,9 @@
|
||||
|
||||
package com.maskyn.fileeditorpro;
|
||||
|
||||
import android.os.Bundle;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
|
||||
import sharedcode.turboeditor.activity.BaseHomeActivity;
|
||||
|
||||
public class HomeActivity extends BaseHomeActivity {
|
||||
public class HomeActivity extends MainActivity {
|
||||
|
||||
@Override
|
||||
public void displayInterstitial() {
|
||||
|
@ -19,33 +19,35 @@
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
maven { url 'http://download.crashlytics.com/maven' }
|
||||
mavenCentral()
|
||||
maven { url 'https://maven.fabric.io/repo' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
|
||||
classpath 'io.fabric.tools:gradle:1.+'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'crashlytics'
|
||||
apply plugin: 'io.fabric'
|
||||
|
||||
repositories {
|
||||
maven { url 'http://download.crashlytics.com/maven' }
|
||||
mavenCentral()
|
||||
maven { url 'https://maven.fabric.io/repo' }
|
||||
}
|
||||
|
||||
|
||||
|
||||
android {
|
||||
compileSdkVersion 20
|
||||
buildToolsVersion '20.0.0'
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion '21.0.2'
|
||||
defaultConfig {
|
||||
applicationId "com.maskyn.fileeditor"
|
||||
minSdkVersion 11
|
||||
targetSdkVersion 19
|
||||
versionCode 30
|
||||
versionName "1.13"
|
||||
targetSdkVersion 21
|
||||
versionCode 35
|
||||
versionName "1.13.2"
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
@ -69,6 +71,8 @@ android {
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: '*.jar')
|
||||
compile project(':libraries:sharedCode')
|
||||
compile 'com.google.android.gms:play-services:5.0.89'
|
||||
compile 'com.crashlytics.android:crashlytics:1.+'
|
||||
compile 'com.google.android.gms:play-services:6.1.11'
|
||||
compile('com.crashlytics.sdk.android:crashlytics:2.+@aar') {
|
||||
transitive = true;
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,7 @@
|
||||
android:hardwareAccelerated="true"
|
||||
android:largeHeap="true"
|
||||
android:supportsRtl="true"
|
||||
android:name="sharedcode.turboeditor.activity.MyApp"
|
||||
android:name="sharedcode.turboeditor.application.MyApp"
|
||||
>
|
||||
|
||||
<!-- android:alwaysRetainTaskState="true" -->
|
||||
|
@ -23,11 +23,12 @@ import android.os.Bundle;
|
||||
|
||||
import com.crashlytics.android.Crashlytics;
|
||||
|
||||
import sharedcode.turboeditor.activity.BaseHomeActivity;
|
||||
import io.fabric.sdk.android.Fabric;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.util.ProCheckUtils;
|
||||
|
||||
public class HomeActivity extends BaseHomeActivity {
|
||||
public class HomeActivity extends MainActivity {
|
||||
|
||||
private AdsHelper adsHelper;
|
||||
|
||||
@ -36,7 +37,7 @@ public class HomeActivity extends BaseHomeActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if(PreferenceHelper.getSendErrorReports(this))
|
||||
Crashlytics.start(this);
|
||||
Fabric.with(this, new Crashlytics());
|
||||
// setup the ads
|
||||
if(!ProCheckUtils.isPro(this))
|
||||
adsHelper = new AdsHelper(this);
|
||||
|
@ -24,7 +24,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:0.12.+'
|
||||
classpath 'com.android.tools.build:gradle:0.13.+'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
@ -2,89 +2,65 @@
|
||||
<pre-dex-items>
|
||||
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\eventbus-2.2.1-32e81c5612ed132ff771b5425053d87f4f6c68c5.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\de.greenrobot\eventbus\2.2.1\a18ff12a9ab5ae52fd30d42f134517997568231e\eventbus-2.2.1.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\commons-io-2.4-63b64e68cd19031cd252ac65a3ef94421c1bf0f4.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="a18ff12a9ab5ae52fd30d42f134517997568231e"/>
|
||||
revision="21.0.2"
|
||||
sha1="b1b6ea3b7e4aa4f492509a4952029cd8e48019ad"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-8e5760a518ace60ad40fe7ea0fedc1faa57ee342.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\beta\1.0.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="ac8bb9f7af7ca5dae03650dc1b43a305e1df2f1b"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-4dd6beddde59ff8bd6c22bd0d65ac974f7e489d2.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="7a292d3770cffc1bb19e8f0232954da498bb87ea"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-40c5f3698ba688207904eaae4b4b57dbf850297e.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\answers\1.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="a8c73f3b98c2732c03ea09378ca322b56dea153a"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\commons-lang3-3.1-84728078c80f2c8637e0c3fe426ad61433c75bb6.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.1\905075e6c80f206bbe6cf1e809d2caa69f420c76\commons-lang3-3.1.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-515446996fed08836a9331ef47b508a0383ffa22.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="e3bacad84e40c773d40010a5520810920887a920"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-52b3d51bec6ecfeacbc105275c0e6a98b8869b1b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\crashlytics\2.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="832029c6f15447b2cb64ca4f8cf12172c9091857"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-9b612f0cb16e63277808158fe971bb4f40c98d29.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
revision="20.0.0"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-33698a085ac2060587beda19b5b3900d3dffd1e7.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.android.support\support-v4\21.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="686344a780033e4ba22b926cd225f8d4941247e6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\library-2.4.0-6b043a8574fb97c742ca3065362b2a29e8f870bc.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\com.nineoldandroids\library\2.4.0\e9b63380f3a242dbdbf103a2355ad7e43bad17cb\library-2.4.0.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="e9b63380f3a242dbdbf103a2355ad7e43bad17cb"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\commons-io-2.4-63b64e68cd19031cd252ac65a3ef94421c1bf0f4.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="b1b6ea3b7e4aa4f492509a4952029cd8e48019ad"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\classes-da434e33e14290126d2ad09adf85ad0bbd76f025.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="2f3117da0016b1126fafe7fb332a45d2f910d76c"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-58cfedaebe3b94ec0eaa2ede4e66aae8dbe309b0.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-9db20cdcb8ae72104757d81297c98978c65bd91b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-436707958bb47977373cb4a2d842cdbf635fd840.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-9b612f0cb16e63277808158fe971bb4f40c98d29.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\support-v4-19.0.1-f87b13e7ed00736c2050eda75093bf42b0503c64.jar"
|
||||
jar="C:\Users\Vlad\AppData\Local\Android\android-sdk\extras\android\m2repository\com\android\support\support-v4\19.0.1\support-v4-19.0.1.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="587da9a481ffd341d2fa091704489b89845ddacd"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\support-annotations-20.0.0-be727b9c9ce08c6ee055559b9506b675c13db989.jar"
|
||||
jar="C:\Users\Vlad\AppData\Local\Android\android-sdk\extras\android\m2repository\com\android\support\support-annotations\20.0.0\support-annotations-20.0.0.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="9d9013e9ff35fc3756411e62873c363c70c638fa"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\release\classes-3e47e18f46719c7bf296f4b49ff03aaa3d406ba6.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="a593d4ce7ccdfa1eac8d97a82db64f23614b59a1"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\release\crashlytics-1.1.13-7bbec76a44aa9cc3279ec6bff22b2c929a8abf67.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\com.crashlytics.android\crashlytics\1.1.13\e821eafa1bf489a26bdb71f95078c26785b37a1\crashlytics-1.1.13.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="0e821eafa1bf489a26bdb71f95078c26785b37a1"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-58cfedaebe3b94ec0eaa2ede4e66aae8dbe309b0.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-65b2b356e3f2da4b67e00aba70923d6321852204.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
@ -92,77 +68,35 @@
|
||||
revision="20.0.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\debug\support-v4-19.0.1-f87b13e7ed00736c2050eda75093bf42b0503c64.jar"
|
||||
jar="C:\Users\Vlad\AppData\Local\Android\android-sdk\extras\android\m2repository\com\android\support\support-v4\19.0.1\support-v4-19.0.1.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-82d5b6cab7f16bad663de7c7008673037efb0e1b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="587da9a481ffd341d2fa091704489b89845ddacd"/>
|
||||
revision="21.0.2"
|
||||
sha1="a1fbf4d4c1f1e1fe357b9ed1de15f4eea2217274"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\support-v4-19.1.0-cf7033c44b86e758f85990185111614bac3ecfa8.jar"
|
||||
jar="C:\Users\Vlad\AppData\Local\Android\android-sdk\extras\android\m2repository\com\android\support\support-v4\19.1.0\support-v4-19.1.0.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-7a329e7f23515542bf02d96773d08da1d2333a7b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="85f201b380937e61a9dce6ca90ccf6872abbfb67"/>
|
||||
revision="21.0.2"
|
||||
sha1="a1fbf4d4c1f1e1fe357b9ed1de15f4eea2217274"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\debug\classes-a52f37b7ca7cde7ab02ff10bba80d1c496284125.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\internal_impl-21.0.0-74269e33561519e0fdabab9550f16a5986255be9.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.android.support\support-v4\21.0.0\libs\internal_impl-21.0.0.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="2f3117da0016b1126fafe7fb332a45d2f910d76c"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\debug\classes-bfc447e4dbe83598b94dbdc8e38492cbbda6ebb2.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="cdecd8167dfb75d5785decb911fc4516445dd6a6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\library-2.4.0-6b043a8574fb97c742ca3065362b2a29e8f870bc.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\com.nineoldandroids\library\2.4.0\e9b63380f3a242dbdbf103a2355ad7e43bad17cb\library-2.4.0.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="e9b63380f3a242dbdbf103a2355ad7e43bad17cb"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\eventbus-2.2.1-32e81c5612ed132ff771b5425053d87f4f6c68c5.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\de.greenrobot\eventbus\2.2.1\a18ff12a9ab5ae52fd30d42f134517997568231e\eventbus-2.2.1.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="a18ff12a9ab5ae52fd30d42f134517997568231e"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\release\classes-579a5ce52888f504a812e0f68758a11f20a21c15.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="a593d4ce7ccdfa1eac8d97a82db64f23614b59a1"/>
|
||||
revision="21.0.2"
|
||||
sha1="1609e6d42d0480b0f4188e2c29f75388fa12a8f0"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-30cc9565ecef1e8ae8577530d7ddd41993d192d7.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="cb3d22565863773944a8c15de408e864e34d6da1"/>
|
||||
revision="21.0.2"
|
||||
sha1="e3bacad84e40c773d40010a5520810920887a920"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-24b647622164ce26bc5d0be361e05056efc68e13.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-d44090b77791e486eccbc4d8859b00a83623bf2b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\6.1.11\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-91de6979bb6be1b46cde32b462c23831eadd01d4.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-30cc9565ecef1e8ae8577530d7ddd41993d192d7.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="85e7b55f468c5591965a5171179d3858b46822a9"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-515446996fed08836a9331ef47b508a0383ffa22.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="85e7b55f468c5591965a5171179d3858b46822a9"/>
|
||||
revision="21.0.2"
|
||||
sha1="0f700f6802ba1a1f1fa7ac26d5db0666a89d75a6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-bcfe21eb1248db73c27c811996e28274cf39b024.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
@ -170,77 +104,95 @@
|
||||
revision="19.1.0"
|
||||
sha1="8203f36efafa2a6ef438b83fc86b9bdc469e7368"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\commons-lang3-3.1-84728078c80f2c8637e0c3fe426ad61433c75bb6.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.1\905075e6c80f206bbe6cf1e809d2caa69f420c76\commons-lang3-3.1.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-436707958bb47977373cb4a2d842cdbf635fd840.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-30cc9565ecef1e8ae8577530d7ddd41993d192d7.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76"/>
|
||||
sha1="85e7b55f468c5591965a5171179d3858b46822a9"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\support-annotations-21.0.0-7b7e20ddbdfce40d4a29c1e68c2dbbc5bb512ab5.jar"
|
||||
jar="C:\Users\Vlad\AppData\Local\Android\android-sdk\extras\android\m2repository\com\android\support\support-annotations\21.0.0\support-annotations-21.0.0.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="1a578b9607b36266c63d43a4fa0ab5664dbe911e"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-bcfe21eb1248db73c27c811996e28274cf39b024.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="991591ff9dbe9e472a47cf66fe6c120f89a68eaa"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-fb4f15a411cfb0bffc51b68ad64a4794d3d67ae4.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="95fd37732ec852e99f07eeb516a3650172f1d136"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-58cfedaebe3b94ec0eaa2ede4e66aae8dbe309b0.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-82d5b6cab7f16bad663de7c7008673037efb0e1b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="2e2f6526f3c5fb34230d14e52bdc24addb67ea9f"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-4dd6beddde59ff8bd6c22bd0d65ac974f7e489d2.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="84a25d78b651ad8b1fb73e463fde4d34a4e79ca6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\classes-2ad27a3265673aeeb8f40e4322d8e19509329c96.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-bcfe21eb1248db73c27c811996e28274cf39b024.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="84a25d78b651ad8b1fb73e463fde4d34a4e79ca6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-82d5b6cab7f16bad663de7c7008673037efb0e1b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="df1a8540495d6724b8582db31fcdd49b04d8b707"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-7a329e7f23515542bf02d96773d08da1d2333a7b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="df1a8540495d6724b8582db31fcdd49b04d8b707"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-65b2b356e3f2da4b67e00aba70923d6321852204.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-9db20cdcb8ae72104757d81297c98978c65bd91b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-9b612f0cb16e63277808158fe971bb4f40c98d29.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-2e38d54a78dd518320bb6abe3d8931a19ff26792.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\pre-dexed\debug\classes-0a2ec632e1127b260f2b888ca5539fd41a1a638b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app-pro\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\classes-a8678f35ea62f18f2f7b60a15203aa6c74b5e559.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\5.0.89\classes.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\library-2.4.0-6b043a8574fb97c742ca3065362b2a29e8f870bc.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\com.nineoldandroids\library\2.4.0\e9b63380f3a242dbdbf103a2355ad7e43bad17cb\library-2.4.0.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="d71573c9c5ea98a8db47ad6ff993a63d492b3bfa"/>
|
||||
revision="21.0.2"
|
||||
sha1="e9b63380f3a242dbdbf103a2355ad7e43bad17cb"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-579992e349b2c32e50f8907b9538ad0aa6df57b4.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.google.android.gms\play-services\5.0.89\classes.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\commons-lang3-3.1-84728078c80f2c8637e0c3fe426ad61433c75bb6.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.1\905075e6c80f206bbe6cf1e809d2caa69f420c76\commons-lang3-3.1.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="d71573c9c5ea98a8db47ad6ff993a63d492b3bfa"/>
|
||||
sha1="905075e6c80f206bbe6cf1e809d2caa69f420c76"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-e4e5a16633bd011fd3d270f1bcdf565f2bd9f2b3.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\beta\1.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="068f232cbc319d814ad6ad01fd0ed0ac6d6c5414"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-28f23d0edd8f234d170b23285799ff5873131bbe.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\io.fabric.sdk.android\fabric\1.0.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="7b46e0b1175dbb7d47f130d6ed14097340e1b77f"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-39edd57531ecc124992725bca5e8b42be236e3ec.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\io.fabric.sdk.android\fabric\1.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="20a6dfbe395a3557a58a3d9f4460c15b0ce04d1e"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\commons-io-2.4-63b64e68cd19031cd252ac65a3ef94421c1bf0f4.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar"
|
||||
@ -248,10 +200,88 @@
|
||||
revision="19.1.0"
|
||||
sha1="b1b6ea3b7e4aa4f492509a4952029cd8e48019ad"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\pre-dexed\debug\classes-c9a98cf79b48106440348a9fa210060d1b8b2647.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\TurboMaterialEditor\app\build\intermediates\exploded-aar\TurboMaterialEditor.libraries\RootCommands\unspecified\classes.jar"
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-91de6979bb6be1b46cde32b462c23831eadd01d4.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\library-2.4.0-6b043a8574fb97c742ca3065362b2a29e8f870bc.jar"
|
||||
jar="C:\Users\Vlad\.gradle\caches\modules-2\files-2.1\com.nineoldandroids\library\2.4.0\e9b63380f3a242dbdbf103a2355ad7e43bad17cb\library-2.4.0.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="cdecd8167dfb75d5785decb911fc4516445dd6a6"/>
|
||||
sha1="e9b63380f3a242dbdbf103a2355ad7e43bad17cb"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-58cfedaebe3b94ec0eaa2ede4e66aae8dbe309b0.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-65b2b356e3f2da4b67e00aba70923d6321852204.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="591d72211acc0b909b79c840e0b3ed9a0982d807"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\juniversalchardet-1.0.3-sources-58cfedaebe3b94ec0eaa2ede4e66aae8dbe309b0.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\libs\juniversalchardet-1.0.3-sources.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="77979eaa98f90806f984155f44f63cc1fb60ac25"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-9b612f0cb16e63277808158fe971bb4f40c98d29.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.github.gabrielemariotti.changeloglib\library\1.5.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="74a89f0f8b56d9f11d70b8d8134cf4109f4797dc"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-5c418babb57b5fe1e6e82a2f3ba51f2da968ba87.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\crashlytics\2.0.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="1adf75e3d87301236c2d4de507b4a668092ff070"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-82d5b6cab7f16bad663de7c7008673037efb0e1b.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\FloatingActionButton\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="20.0.0"
|
||||
sha1="df1a8540495d6724b8582db31fcdd49b04d8b707"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-30cc9565ecef1e8ae8577530d7ddd41993d192d7.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\RootCommands\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="19.1.0"
|
||||
sha1="cb3d22565863773944a8c15de408e864e34d6da1"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\debug\classes-aa4ad551e94dc47c364b1b7f46bb2eb1b6ceed85.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="95fd37732ec852e99f07eeb516a3650172f1d136"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-e90e1f4e06d0f5aa27166f2f8f5fcea319efbd95.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.android.support\support-v4\21.0.0\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="686344a780033e4ba22b926cd225f8d4941247e6"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\classes-bcfe21eb1248db73c27c811996e28274cf39b024.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="7a292d3770cffc1bb19e8f0232954da498bb87ea"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\pre-dexed\debug\internal_impl-21.0.0-b15535acecaec42d04239e17e0a03ab072a43104.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app-pro\build\intermediates\exploded-aar\com.android.support\support-v4\21.0.0\libs\internal_impl-21.0.0.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="1609e6d42d0480b0f4188e2c29f75388fa12a8f0"/>
|
||||
<item
|
||||
dex="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\pre-dexed\release\classes-354dd0849ce9caff8f6b5b0f6428cf9e2ccbe27e.jar"
|
||||
jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\answers\1.0.1\classes.jar"
|
||||
jumboMode="false"
|
||||
revision="21.0.2"
|
||||
sha1="7363bd9461c166e18592b58547720fbad8d4b0bc"/>
|
||||
|
||||
</pre-dex-items>
|
||||
|
23
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,25 +1,6 @@
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
#Wed Apr 10 15:27:10 PDT 2013
|
||||
#Wed Oct 22 18:10:25 CEST 2014
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
|
||||
|
@ -1,12 +1,12 @@
|
||||
apply plugin: 'com.android.library'
|
||||
android {
|
||||
compileSdkVersion 20
|
||||
buildToolsVersion '20.0.0'
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion '21.0.2'
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'com.faizmalkani.floatingactionbutton'
|
||||
minSdkVersion 7
|
||||
targetSdkVersion 19
|
||||
targetSdkVersion 21
|
||||
versionName "1.0"
|
||||
versionCode 1
|
||||
}
|
||||
@ -22,6 +22,10 @@ android {
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -5,9 +5,14 @@ package com.faizmalkani.floatingactionbutton;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton";
|
||||
public static final String APPLICATION_ID = "com.faizmalkani.floatingactionbutton";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "1.0";
|
||||
/**
|
||||
* @deprecated Use {@link #APPLICATION_ID}
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton";
|
||||
}
|
||||
|
@ -5,9 +5,14 @@ package com.faizmalkani.floatingactionbutton;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = false;
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton";
|
||||
public static final String APPLICATION_ID = "com.faizmalkani.floatingactionbutton";
|
||||
public static final String BUILD_TYPE = "release";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "1.0";
|
||||
/**
|
||||
* @deprecated Use {@link #APPLICATION_ID}
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton";
|
||||
}
|
||||
|
@ -5,9 +5,14 @@ package com.faizmalkani.floatingactionbutton.test;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton.test";
|
||||
public static final String APPLICATION_ID = "com.faizmalkani.floatingactionbutton.test";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "1.0";
|
||||
/**
|
||||
* @deprecated Use {@link #APPLICATION_ID}
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PACKAGE_NAME = "com.faizmalkani.floatingactionbutton.test";
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
*/
|
||||
public static int color=0x7f010001;
|
||||
public static int colour=0x7f010001;
|
||||
/** <p>Must be an integer value, such as "<code>100</code>".
|
||||
<p>This may also be a reference to a resource (in the form
|
||||
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
|
||||
@ -66,14 +66,14 @@ containing a value of this type.
|
||||
<colgroup align="left" />
|
||||
<colgroup align="left" />
|
||||
<tr><th>Attribute</th><th>Description</th></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_color com.faizmalkani.floatingactionbutton:color}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_colour com.faizmalkani.floatingactionbutton:colour}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_drawable com.faizmalkani.floatingactionbutton:drawable}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowColor com.faizmalkani.floatingactionbutton:shadowColor}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDx com.faizmalkani.floatingactionbutton:shadowDx}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDy com.faizmalkani.floatingactionbutton:shadowDy}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowRadius com.faizmalkani.floatingactionbutton:shadowRadius}</code></td><td></td></tr>
|
||||
</table>
|
||||
@see #FloatingActionButton_color
|
||||
@see #FloatingActionButton_colour
|
||||
@see #FloatingActionButton_drawable
|
||||
@see #FloatingActionButton_shadowColor
|
||||
@see #FloatingActionButton_shadowDx
|
||||
@ -85,7 +85,7 @@ containing a value of this type.
|
||||
0x7f010004, 0x7f010005
|
||||
};
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#color}
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#colour}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
|
||||
|
||||
@ -96,9 +96,9 @@ containing a value of this type.
|
||||
theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:color
|
||||
@attr name com.faizmalkani.floatingactionbutton:colour
|
||||
*/
|
||||
public static final int FloatingActionButton_color = 1;
|
||||
public static int FloatingActionButton_colour = 1;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#drawable}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -112,7 +112,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:drawable
|
||||
*/
|
||||
public static final int FloatingActionButton_drawable = 0;
|
||||
public static int FloatingActionButton_drawable = 0;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowColor}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -126,7 +126,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowColor
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowColor = 5;
|
||||
public static int FloatingActionButton_shadowColor = 5;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowDx}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -140,7 +140,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowDx
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowDx = 3;
|
||||
public static int FloatingActionButton_shadowDx = 3;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowDy}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -154,7 +154,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowDy
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowDy = 4;
|
||||
public static int FloatingActionButton_shadowDy = 4;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowRadius}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -168,6 +168,6 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowRadius
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowRadius = 2;
|
||||
public static int FloatingActionButton_shadowRadius = 2;
|
||||
};
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
*/
|
||||
public static int color=0x7f010001;
|
||||
public static int colour=0x7f010001;
|
||||
/** <p>Must be an integer value, such as "<code>100</code>".
|
||||
<p>This may also be a reference to a resource (in the form
|
||||
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
|
||||
@ -66,14 +66,14 @@ containing a value of this type.
|
||||
<colgroup align="left" />
|
||||
<colgroup align="left" />
|
||||
<tr><th>Attribute</th><th>Description</th></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_color com.faizmalkani.floatingactionbutton:color}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_colour com.faizmalkani.floatingactionbutton:colour}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_drawable com.faizmalkani.floatingactionbutton:drawable}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowColor com.faizmalkani.floatingactionbutton:shadowColor}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDx com.faizmalkani.floatingactionbutton:shadowDx}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDy com.faizmalkani.floatingactionbutton:shadowDy}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowRadius com.faizmalkani.floatingactionbutton:shadowRadius}</code></td><td></td></tr>
|
||||
</table>
|
||||
@see #FloatingActionButton_color
|
||||
@see #FloatingActionButton_colour
|
||||
@see #FloatingActionButton_drawable
|
||||
@see #FloatingActionButton_shadowColor
|
||||
@see #FloatingActionButton_shadowDx
|
||||
@ -85,7 +85,7 @@ containing a value of this type.
|
||||
0x7f010004, 0x7f010005
|
||||
};
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#color}
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#colour}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
|
||||
|
||||
@ -96,9 +96,9 @@ containing a value of this type.
|
||||
theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:color
|
||||
@attr name com.faizmalkani.floatingactionbutton:colour
|
||||
*/
|
||||
public static final int FloatingActionButton_color = 1;
|
||||
public static int FloatingActionButton_colour = 1;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#drawable}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -112,7 +112,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:drawable
|
||||
*/
|
||||
public static final int FloatingActionButton_drawable = 0;
|
||||
public static int FloatingActionButton_drawable = 0;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowColor}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -126,7 +126,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowColor
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowColor = 5;
|
||||
public static int FloatingActionButton_shadowColor = 5;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowDx}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -140,7 +140,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowDx
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowDx = 3;
|
||||
public static int FloatingActionButton_shadowDx = 3;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowDy}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -154,7 +154,7 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowDy
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowDy = 4;
|
||||
public static int FloatingActionButton_shadowDy = 4;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.R.attr#shadowRadius}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
@ -168,6 +168,6 @@ theme attribute (in the form
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton:shadowRadius
|
||||
*/
|
||||
public static final int FloatingActionButton_shadowRadius = 2;
|
||||
public static int FloatingActionButton_shadowRadius = 2;
|
||||
};
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ package com.faizmalkani.floatingactionbutton;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
public static final int color = 0x7f010001;
|
||||
public static final int colour = 0x7f010001;
|
||||
public static final int drawable = 0x7f010000;
|
||||
public static final int shadowColor = 0x7f010005;
|
||||
public static final int shadowDx = 0x7f010003;
|
||||
@ -17,7 +17,7 @@ public final class R {
|
||||
}
|
||||
public static final class styleable {
|
||||
public static final int[] FloatingActionButton = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005 };
|
||||
public static final int FloatingActionButton_color = 1;
|
||||
public static final int FloatingActionButton_colour = 1;
|
||||
public static final int FloatingActionButton_drawable = 0;
|
||||
public static final int FloatingActionButton_shadowColor = 5;
|
||||
public static final int FloatingActionButton_shadowDx = 3;
|
||||
|
@ -17,7 +17,7 @@ theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
*/
|
||||
public static final int color=0x7f010001;
|
||||
public static final int colour=0x7f010001;
|
||||
/** <p>Must be an integer value, such as "<code>100</code>".
|
||||
<p>This may also be a reference to a resource (in the form
|
||||
"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>") or
|
||||
@ -66,14 +66,14 @@ containing a value of this type.
|
||||
<colgroup align="left" />
|
||||
<colgroup align="left" />
|
||||
<tr><th>Attribute</th><th>Description</th></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_color com.faizmalkani.floatingactionbutton.test:color}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_colour com.faizmalkani.floatingactionbutton.test:colour}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_drawable com.faizmalkani.floatingactionbutton.test:drawable}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowColor com.faizmalkani.floatingactionbutton.test:shadowColor}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDx com.faizmalkani.floatingactionbutton.test:shadowDx}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowDy com.faizmalkani.floatingactionbutton.test:shadowDy}</code></td><td></td></tr>
|
||||
<tr><td><code>{@link #FloatingActionButton_shadowRadius com.faizmalkani.floatingactionbutton.test:shadowRadius}</code></td><td></td></tr>
|
||||
</table>
|
||||
@see #FloatingActionButton_color
|
||||
@see #FloatingActionButton_colour
|
||||
@see #FloatingActionButton_drawable
|
||||
@see #FloatingActionButton_shadowColor
|
||||
@see #FloatingActionButton_shadowDx
|
||||
@ -85,7 +85,7 @@ containing a value of this type.
|
||||
0x7f010004, 0x7f010005
|
||||
};
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.test.R.attr#color}
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.test.R.attr#colour}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
|
||||
|
||||
@ -96,9 +96,9 @@ containing a value of this type.
|
||||
theme attribute (in the form
|
||||
"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>")
|
||||
containing a value of this type.
|
||||
@attr name com.faizmalkani.floatingactionbutton.test:color
|
||||
@attr name com.faizmalkani.floatingactionbutton.test:colour
|
||||
*/
|
||||
public static final int FloatingActionButton_color = 1;
|
||||
public static final int FloatingActionButton_colour = 1;
|
||||
/**
|
||||
<p>This symbol is the offset where the {@link com.faizmalkani.floatingactionbutton.test.R.attr#drawable}
|
||||
attribute's value can be found in the {@link #FloatingActionButton} array.
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="19" />
|
||||
android:targetSdkVersion="21" />
|
||||
|
||||
<application android:allowBackup="true" >
|
||||
</application>
|
||||
|
@ -1,11 +1,11 @@
|
||||
int attr color 0x7f010001
|
||||
int attr colour 0x7f010001
|
||||
int attr drawable 0x7f010000
|
||||
int attr shadowColor 0x7f010005
|
||||
int attr shadowDx 0x7f010003
|
||||
int attr shadowDy 0x7f010004
|
||||
int attr shadowRadius 0x7f010002
|
||||
int[] styleable FloatingActionButton { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005 }
|
||||
int styleable FloatingActionButton_color 1
|
||||
int styleable FloatingActionButton_colour 1
|
||||
int styleable FloatingActionButton_drawable 0
|
||||
int styleable FloatingActionButton_shadowColor 5
|
||||
int styleable FloatingActionButton_shadowDx 3
|
||||
|
@ -1,16 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- From: file:/C:/Users/Vlad/Documents/AndroidStudioProjects/turbo-editor/libraries/FloatingActionButton/res/values/attrs.xml -->
|
||||
<eat-comment />
|
||||
|
||||
<declare-styleable name="FloatingActionButton">
|
||||
<attr name="drawable" format="integer" />
|
||||
<attr name="color" format="color" />
|
||||
<attr name="shadowRadius" format="float" />
|
||||
<attr name="shadowDx" format="float" />
|
||||
<attr name="shadowDy" format="float" />
|
||||
<attr name="shadowColor" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable>
|
||||
</resources>
|
@ -6,7 +6,7 @@
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="19" />
|
||||
android:targetSdkVersion="21" />
|
||||
|
||||
<application android:allowBackup="true" >
|
||||
</application>
|
||||
|
@ -1,11 +1,11 @@
|
||||
int attr color 0x7f010001
|
||||
int attr colour 0x7f010001
|
||||
int attr drawable 0x7f010000
|
||||
int attr shadowColor 0x7f010005
|
||||
int attr shadowDx 0x7f010003
|
||||
int attr shadowDy 0x7f010004
|
||||
int attr shadowRadius 0x7f010002
|
||||
int[] styleable FloatingActionButton { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005 }
|
||||
int styleable FloatingActionButton_color 1
|
||||
int styleable FloatingActionButton_colour 1
|
||||
int styleable FloatingActionButton_drawable 0
|
||||
int styleable FloatingActionButton_shadowColor 5
|
||||
int styleable FloatingActionButton_shadowDx 3
|
||||
|
@ -1,16 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- From: file:/C:/Users/Vlad/Documents/AndroidStudioProjects/turbo-editor/libraries/FloatingActionButton/res/values/attrs.xml -->
|
||||
<eat-comment />
|
||||
|
||||
<declare-styleable name="FloatingActionButton">
|
||||
<attr name="drawable" format="integer" />
|
||||
<attr name="color" format="color" />
|
||||
<attr name="shadowRadius" format="float" />
|
||||
<attr name="shadowDx" format="float" />
|
||||
<attr name="shadowDy" format="float" />
|
||||
<attr name="shadowColor" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable>
|
||||
</resources>
|
@ -1,11 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\assets" />
|
||||
</dataSet>
|
||||
<dataSet config="debug" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\debug\assets" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\assets"/></dataSet><dataSet config="debug"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\debug\assets"/></dataSet></merger>
|
@ -1,11 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\assets" />
|
||||
</dataSet>
|
||||
<dataSet config="release" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\release\assets" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\assets"/></dataSet><dataSet config="release"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\release\assets"/></dataSet></merger>
|
@ -1,11 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="debug" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\assets" />
|
||||
</dataSet>
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\androidTest\assets" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="debug"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\assets"/></dataSet><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\androidTest\assets"/></dataSet></merger>
|
@ -1,38 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="debug" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\res" >
|
||||
<file
|
||||
path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\res\values\values.xml"
|
||||
qualifiers="" >
|
||||
<declare-styleable name="FloatingActionButton" >
|
||||
<attr
|
||||
name="drawable"
|
||||
format="integer" />
|
||||
<attr
|
||||
name="color"
|
||||
format="color" />
|
||||
<attr
|
||||
name="shadowRadius"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDx"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDy"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowColor"
|
||||
format="integer" />
|
||||
</declare-styleable>
|
||||
</file>
|
||||
</source>
|
||||
</dataSet>
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\androidTest\res" />
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\test\debug" />
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\test\debug" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="debug"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\res"><file path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\intermediates\bundles\debug\res\values\values.xml" qualifiers=""><declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable></file></source></dataSet><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\androidTest\res"/><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\test\debug"/><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\test\debug"/></dataSet><mergedItems><configuration qualifiers=""><declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable></configuration></mergedItems></merger>
|
@ -1,38 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res" >
|
||||
<file
|
||||
path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res\values\attrs.xml"
|
||||
qualifiers="" >
|
||||
<declare-styleable name="FloatingActionButton" >
|
||||
<attr
|
||||
name="drawable"
|
||||
format="integer" />
|
||||
<attr
|
||||
name="color"
|
||||
format="color" />
|
||||
<attr
|
||||
name="shadowRadius"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDx"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDy"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowColor"
|
||||
format="integer" />
|
||||
</declare-styleable>
|
||||
</file>
|
||||
</source>
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\debug" />
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\debug" />
|
||||
</dataSet>
|
||||
<dataSet config="debug" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\debug\res" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res"><file path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res\values\attrs.xml" qualifiers=""><declare-styleable name="FloatingActionButton">
|
||||
<attr format="integer" name="drawable"/>
|
||||
<attr format="color" name="colour"/>
|
||||
<attr format="float" name="shadowRadius"/>
|
||||
<attr format="float" name="shadowDx"/>
|
||||
<attr format="float" name="shadowDy"/>
|
||||
<attr format="integer" name="shadowColor"/>
|
||||
</declare-styleable></file></source><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\debug"/><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\debug"/></dataSet><dataSet config="debug"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\debug\res"/></dataSet><mergedItems><configuration qualifiers=""><declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable></configuration></mergedItems></merger>
|
@ -1,38 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="2" >
|
||||
|
||||
<dataSet config="main" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res" >
|
||||
<file
|
||||
path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res\values\attrs.xml"
|
||||
qualifiers="" >
|
||||
<declare-styleable name="FloatingActionButton" >
|
||||
<attr
|
||||
name="drawable"
|
||||
format="integer" />
|
||||
<attr
|
||||
name="color"
|
||||
format="color" />
|
||||
<attr
|
||||
name="shadowRadius"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDx"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowDy"
|
||||
format="float" />
|
||||
<attr
|
||||
name="shadowColor"
|
||||
format="integer" />
|
||||
</declare-styleable>
|
||||
</file>
|
||||
</source>
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\release" />
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\release" />
|
||||
</dataSet>
|
||||
<dataSet config="release" >
|
||||
<source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\release\res" />
|
||||
</dataSet>
|
||||
|
||||
</merger>
|
||||
<merger version="3"><dataSet config="main"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res"><file path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\res\values\attrs.xml" qualifiers=""><declare-styleable name="FloatingActionButton">
|
||||
<attr format="integer" name="drawable"/>
|
||||
<attr format="color" name="colour"/>
|
||||
<attr format="float" name="shadowRadius"/>
|
||||
<attr format="float" name="shadowDx"/>
|
||||
<attr format="float" name="shadowDy"/>
|
||||
<attr format="integer" name="shadowColor"/>
|
||||
</declare-styleable></file></source><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\rs\release"/><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\build\generated\res\generated\release"/></dataSet><dataSet config="release"><source path="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\libraries\FloatingActionButton\src\release\res"/></dataSet><mergedItems><configuration qualifiers=""><declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable></configuration></mergedItems></merger>
|
@ -4,7 +4,7 @@
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="19" />
|
||||
android:targetSdkVersion="21" />
|
||||
|
||||
<instrumentation
|
||||
android:name="android.test.InstrumentationTestRunner"
|
||||
|
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.faizmalkani.floatingactionbutton.test">
|
||||
|
||||
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="21" />
|
||||
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
<instrumentation android:name="android.test.InstrumentationTestRunner"
|
||||
android:targetPackage="com.faizmalkani.floatingactionbutton.test"
|
||||
android:handleProfiling="false"
|
||||
android:functionalTest="false"
|
||||
android:label="Tests for com.faizmalkani.floatingactionbutton.test"/>
|
||||
</manifest>
|
@ -1,16 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- From: file:/C:/Users/Vlad/Documents/AndroidStudioProjects/turbo-editor/libraries/FloatingActionButton/build/intermediates/bundles/debug/res/values/values.xml -->
|
||||
<eat-comment />
|
||||
|
||||
<declare-styleable name="FloatingActionButton">
|
||||
<attr name="drawable" format="integer" />
|
||||
<attr name="color" format="color" />
|
||||
<attr name="shadowRadius" format="float" />
|
||||
<attr name="shadowDx" format="float" />
|
||||
<attr name="shadowDy" format="float" />
|
||||
<attr name="shadowColor" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="FloatingActionButton"><attr format="integer" name="drawable"/><attr format="color" name="colour"/><attr format="float" name="shadowRadius"/><attr format="float" name="shadowDx"/><attr format="float" name="shadowDy"/><attr format="integer" name="shadowColor"/></declare-styleable>
|
||||
</resources>
|
@ -1,11 +1,11 @@
|
||||
int attr color 0x7f010001
|
||||
int attr colour 0x7f010001
|
||||
int attr drawable 0x7f010000
|
||||
int attr shadowColor 0x7f010005
|
||||
int attr shadowDx 0x7f010003
|
||||
int attr shadowDy 0x7f010004
|
||||
int attr shadowRadius 0x7f010002
|
||||
int[] styleable FloatingActionButton { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005 }
|
||||
int styleable FloatingActionButton_color 1
|
||||
int styleable FloatingActionButton_colour 1
|
||||
int styleable FloatingActionButton_drawable 0
|
||||
int styleable FloatingActionButton_shadowColor 5
|
||||
int styleable FloatingActionButton_shadowDx 3
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
<declare-styleable name="FloatingActionButton">
|
||||
<attr name="drawable" format="integer"/>
|
||||
<attr name="color" format="color"/>
|
||||
<attr name="colour" format="color"/>
|
||||
<attr name="shadowRadius" format="float"/>
|
||||
<attr name="shadowDx" format="float"/>
|
||||
<attr name="shadowDy" format="float"/>
|
||||
|
@ -52,7 +52,7 @@ public class FloatingActionButton extends View {
|
||||
super(context, attrs, defStyleAttr);
|
||||
|
||||
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.FloatingActionButton);
|
||||
mColor = a.getColor(R.styleable.FloatingActionButton_color, Color.WHITE);
|
||||
mColor = a.getColor(R.styleable.FloatingActionButton_colour, Color.WHITE);
|
||||
mButtonPaint.setStyle(Paint.Style.FILL);
|
||||
mButtonPaint.setColor(mColor);
|
||||
float radius, dx, dy;
|
||||
|
@ -15,12 +15,16 @@ dependencies {
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 20
|
||||
buildToolsVersion '20.0.0'
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion '21.0.2'
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 7
|
||||
targetSdkVersion 19
|
||||
targetSdkVersion 21
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
@ -24,13 +26,13 @@ android {
|
||||
disable 'MissingTranslation', 'ExtraTranslation'
|
||||
}
|
||||
|
||||
compileSdkVersion 20
|
||||
buildToolsVersion '20.0.0'
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion '21.0.2'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "sharedcode.turboeditor"
|
||||
minSdkVersion 11
|
||||
targetSdkVersion 19
|
||||
targetSdkVersion 21
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
@ -60,13 +62,16 @@ dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile project(':libraries:RootCommands')
|
||||
compile project(':libraries:FloatingActionButton')
|
||||
compile('de.greenrobot:eventbus:2.2.1') {
|
||||
exclude module: 'support-v4'
|
||||
}
|
||||
//compile('de.greenrobot:eventbus:2.2.1') {
|
||||
// exclude module: 'support-v4'
|
||||
// }
|
||||
// compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
|
||||
compile 'org.apache.commons:commons-lang3:3.1'
|
||||
compile files('libs/juniversalchardet-1.0.3.jar')
|
||||
compile 'com.android.support:support-v4:19.0.+'
|
||||
compile ("com.android.support:appcompat-v7:21.+") {
|
||||
exclude group: 'com.android.support', module: 'support-v4'
|
||||
}
|
||||
compile 'com.android.support:support-v4:21.+'
|
||||
compile 'com.github.gabrielemariotti.changeloglib:library:1.5.1'
|
||||
compile 'commons-io:commons-io:2.4'
|
||||
compile 'com.android.support:support-annotations:20.0.0'
|
||||
|
@ -16,7 +16,7 @@
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="sharedcode.turboeditor" >
|
||||
|
||||
|
@ -1,76 +0,0 @@
|
||||
/*
|
||||
* 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.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.util.ThemeUtils;
|
||||
|
||||
public class LicensesActivity extends Activity implements AdapterView.OnItemClickListener {
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
ThemeUtils.setTheme(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
setContentView(R.layout.activity_licenses);
|
||||
ListView listView = (ListView) findViewById(android.R.id.list);
|
||||
listView.setOnItemClickListener(this);
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.open_source_libs));
|
||||
listView.setAdapter(adapter);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
String openSourceLib = ((TextView) view.findViewById(android.R.id.text1)).getText().toString();
|
||||
Intent browserIntent = null;
|
||||
switch (openSourceLib) {
|
||||
case "ChangeLog Library":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/gabrielemariotti/changeloglib?source=c#license"));
|
||||
break;
|
||||
case "EventBus":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/greenrobot/EventBus?source=c#license"));
|
||||
break;
|
||||
case "commons-io":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://commons.apache.org/proper/commons-io/"));
|
||||
break;
|
||||
case "RootCommands":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/dschuermann/superuser-commands"));
|
||||
break;
|
||||
case "Floating Action Button":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/makovkastar/FloatingActionButton"));
|
||||
break;
|
||||
}
|
||||
if (browserIntent != null) {
|
||||
startActivity(browserIntent);
|
||||
}
|
||||
}
|
||||
}
|
@ -19,11 +19,13 @@
|
||||
|
||||
package sharedcode.turboeditor.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.support.v7.widget.SearchView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@ -32,7 +34,6 @@ import android.widget.AdapterView;
|
||||
import android.widget.Filter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.SearchView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
@ -54,14 +55,14 @@ import java.util.concurrent.TimeoutException;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.adapter.AdapterDetailedList;
|
||||
import sharedcode.turboeditor.fragment.EditTextDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.EditTextDialog;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.root.RootUtils;
|
||||
import sharedcode.turboeditor.util.AlphanumComparator;
|
||||
import sharedcode.turboeditor.util.Build;
|
||||
import sharedcode.turboeditor.util.ThemeUtils;
|
||||
|
||||
public class SelectFileActivity extends Activity implements SearchView.OnQueryTextListener, AdapterView.OnItemClickListener, EditTextDialog.EditDialogListener {
|
||||
public class SelectFileActivity extends ActionBarActivity implements SearchView.OnQueryTextListener, AdapterView.OnItemClickListener, EditTextDialog.EditDialogListener {
|
||||
private String currentFolder = PreferenceHelper.SD_CARD_ROOT;
|
||||
private ListView listView;
|
||||
private boolean wantAFile = true;
|
||||
@ -78,7 +79,10 @@ public class SelectFileActivity extends Activity implements SearchView.OnQueryTe
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_select_file);
|
||||
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
final Actions action = (Actions) getIntent().getExtras().getSerializable("action");
|
||||
wantAFile = action == Actions.SelectFile;
|
||||
@ -101,15 +105,12 @@ public class SelectFileActivity extends Activity implements SearchView.OnQueryTe
|
||||
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
final EditTextDialog dialogFrag;
|
||||
int i = item.getItemId();
|
||||
if (i == R.id.im_new_file) {
|
||||
dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFile);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
EditTextDialog.newInstance(EditTextDialog.Actions.NewFile).show(getFragmentManager().beginTransaction(), "dialog");
|
||||
return true;
|
||||
} else if (i == R.id.im_new_folder) {
|
||||
dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder).show(getFragmentManager().beginTransaction(), "dialog");
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@ -364,7 +365,8 @@ public class SelectFileActivity extends Activity implements SearchView.OnQueryTe
|
||||
AdapterDetailedList mAdapter = new AdapterDetailedList(getBaseContext(), names, isRoot);
|
||||
listView.setAdapter(mAdapter);
|
||||
filter = mAdapter.getFilter();
|
||||
} else if (exceptionMessage != null) {
|
||||
}
|
||||
if (exceptionMessage != null) {
|
||||
Toast.makeText(SelectFileActivity.this, exceptionMessage, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
invalidateOptionsMenu();
|
||||
|
@ -30,7 +30,7 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
|
||||
@ -41,11 +41,11 @@ public class AdapterDrawer extends
|
||||
// Layout Inflater
|
||||
private final LayoutInflater inflater;
|
||||
// List of file details
|
||||
private final ArrayList<File> files;
|
||||
private final List<File> files;
|
||||
private String selectedPath = "";
|
||||
|
||||
public AdapterDrawer(Context context,
|
||||
ArrayList<File> files,
|
||||
List<File> files,
|
||||
Callbacks callbacks) {
|
||||
super(context, R.layout.item_file_list, files);
|
||||
this.files = files;
|
||||
@ -80,13 +80,9 @@ public class AdapterDrawer extends
|
||||
});
|
||||
|
||||
if (TextUtils.equals(selectedPath, files.get(position).getAbsolutePath())) {
|
||||
hold.nameLabel.setTypeface(hold.nameLabel.getTypeface(), Typeface.BOLD);
|
||||
convertView.setBackgroundColor((convertView.getResources()
|
||||
.getColor(R.color.item_selected)));
|
||||
hold.nameLabel.setTypeface(null, Typeface.BOLD);
|
||||
} else {
|
||||
hold.nameLabel.setTypeface(hold.nameLabel.getTypeface(), Typeface.NORMAL);
|
||||
convertView.setBackgroundColor((convertView.getResources()
|
||||
.getColor(android.R.color.transparent)));
|
||||
hold.nameLabel.setTypeface(null, Typeface.NORMAL);
|
||||
}
|
||||
|
||||
} else {
|
||||
@ -105,12 +101,8 @@ public class AdapterDrawer extends
|
||||
|
||||
if (TextUtils.equals(selectedPath, files.get(position).getAbsolutePath())) {
|
||||
hold.nameLabel.setTypeface(null, Typeface.BOLD);
|
||||
convertView.setBackgroundColor((convertView.getResources()
|
||||
.getColor(R.color.item_selected)));
|
||||
} else {
|
||||
hold.nameLabel.setTypeface(null, Typeface.NORMAL);
|
||||
convertView.setBackgroundColor((convertView.getResources()
|
||||
.getColor(android.R.color.transparent)));
|
||||
}
|
||||
}
|
||||
return convertView;
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.activity;
|
||||
package sharedcode.turboeditor.application;
|
||||
|
||||
import android.app.Application;
|
||||
import android.view.ViewConfiguration;
|
@ -16,7 +16,8 @@
|
||||
* 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.fragment;
|
||||
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -28,7 +29,6 @@ import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
@ -16,7 +16,8 @@
|
||||
* 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.fragment;
|
||||
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -32,6 +32,7 @@ import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
// ...
|
||||
public class EditTextDialog extends DialogFragment implements TextView.OnEditorActionListener {
|
||||
@ -55,22 +56,25 @@ public class EditTextDialog extends DialogFragment implements TextView.OnEditorA
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
|
||||
final Actions action = (Actions) getArguments().getSerializable("action");
|
||||
final String hint;
|
||||
final String title;
|
||||
switch (action) {
|
||||
case NewFile:
|
||||
hint = getString(R.string.file);
|
||||
title = getString(R.string.file);
|
||||
break;
|
||||
case NewFolder:
|
||||
hint = getString(R.string.folder);
|
||||
title = getString(R.string.folder);
|
||||
break;
|
||||
default:
|
||||
hint = null;
|
||||
title = null;
|
||||
break;
|
||||
}
|
||||
|
||||
final View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment_edittext, null);
|
||||
View view = new DialogHelper.Builder(getActivity())
|
||||
.setTitle(title)
|
||||
.setView(R.layout.dialog_fragment_edittext)
|
||||
.createSkeletonView();
|
||||
this.mEditText = (EditText) view.findViewById(android.R.id.edit);
|
||||
this.mEditText.setHint(hint);
|
||||
this.mEditText.setHint(R.string.name);
|
||||
|
||||
// Show soft keyboard automatically
|
||||
this.mEditText.setText(getArguments().getString("hint"));
|
@ -17,18 +17,18 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Switch;
|
||||
|
||||
import org.mozilla.universalchardet.Constants;
|
||||
|
||||
@ -77,7 +77,7 @@ public class EncodingDialog extends DialogFragment implements AdapterView.OnItem
|
||||
|
||||
final View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_encoding_list, null);
|
||||
list = (ListView) view.findViewById(android.R.id.list);
|
||||
Switch autoencoding = (Switch) view.findViewById(android.R.id.checkbox);
|
||||
SwitchCompat autoencoding = (SwitchCompat) view.findViewById(android.R.id.checkbox);
|
||||
autoencoding.setChecked(PreferenceHelper.getAutoEncoding(getActivity()));
|
||||
|
||||
autoencoding.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -34,6 +34,7 @@ import java.util.Date;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.adapter.AdapterTwoItem;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
// ...
|
||||
public class FileInfoDialog extends DialogFragment {
|
||||
@ -49,7 +50,12 @@ public class FileInfoDialog extends DialogFragment {
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
|
||||
final View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment_file_info, null);
|
||||
View view = new DialogHelper.Builder(getActivity())
|
||||
.setTitle(R.string.info)
|
||||
.setView(R.layout.dialog_fragment_file_info)
|
||||
.createSkeletonView();
|
||||
//final View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment_file_info, null);
|
||||
|
||||
ListView list = (ListView) view.findViewById(android.R.id.list);
|
||||
|
||||
File file = new File(getArguments().getString("filePath"));
|
||||
@ -76,8 +82,8 @@ public class FileInfoDialog extends DialogFragment {
|
||||
|
||||
list.setAdapter(new AdapterTwoItem(getActivity(), lines1, lines2));
|
||||
|
||||
|
||||
return new AlertDialog.Builder(getActivity())
|
||||
//.setTitle(title)
|
||||
.setView(view)
|
||||
.setPositiveButton(android.R.string.ok,
|
||||
new DialogInterface.OnClickListener() {
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -31,6 +31,7 @@ import android.widget.EditText;
|
||||
import java.io.File;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.task.SaveFileTask;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
@ -61,10 +62,12 @@ public class NewFileDetailsDialog extends DialogFragment {
|
||||
this.mName = (EditText) view.findViewById(android.R.id.text1);
|
||||
this.mFolder = (EditText) view.findViewById(android.R.id.text2);
|
||||
|
||||
this.mName.setText(".txt");
|
||||
this.mFolder.setText(PreferenceHelper.getWorkingFolder(getActivity()));
|
||||
|
||||
// Show soft keyboard automatically
|
||||
this.mName.requestFocus();
|
||||
this.mName.setSelection(0);
|
||||
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
|
||||
|
||||
return new AlertDialog.Builder(getActivity())
|
||||
@ -75,7 +78,7 @@ public class NewFileDetailsDialog extends DialogFragment {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (!mName.getText().toString().isEmpty() && !mFolder.getText().toString().isEmpty()) {
|
||||
File file = new File(mFolder.getText().toString(), mName.getText().toString());
|
||||
new SaveFileTask(getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute();
|
||||
new SaveFileTask((MainActivity) getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute();
|
||||
PreferenceHelper.setWorkingFolder(getActivity(), file.getParent());
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -31,16 +31,16 @@ import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
// ...
|
||||
public class SeekbarDialog extends DialogFragment {
|
||||
public class NumberPickerDialog extends DialogFragment {
|
||||
|
||||
private NumberPicker mSeekBar;
|
||||
|
||||
public static SeekbarDialog newInstance(final Actions action) {
|
||||
return SeekbarDialog.newInstance(action, 0, 50, 100);
|
||||
public static NumberPickerDialog newInstance(final Actions action) {
|
||||
return NumberPickerDialog.newInstance(action, 0, 50, 100);
|
||||
}
|
||||
|
||||
public static SeekbarDialog newInstance(final Actions action, final int min, final int current, final int max) {
|
||||
final SeekbarDialog f = new SeekbarDialog();
|
||||
public static NumberPickerDialog newInstance(final Actions action, final int min, final int current, final int max) {
|
||||
final NumberPickerDialog f = new NumberPickerDialog();
|
||||
final Bundle args = new Bundle();
|
||||
args.putSerializable("action", action);
|
||||
args.putInt("min", min);
|
||||
@ -102,11 +102,11 @@ public class SeekbarDialog extends DialogFragment {
|
||||
}
|
||||
|
||||
void returnData() {
|
||||
ISeekbarDialog target = (ISeekbarDialog) getTargetFragment();
|
||||
INumberPickerDialog target = (INumberPickerDialog) getTargetFragment();
|
||||
if (target == null) {
|
||||
target = (ISeekbarDialog) getActivity();
|
||||
target = (INumberPickerDialog) getActivity();
|
||||
}
|
||||
target.onSeekbarDialogDismissed(
|
||||
target.onNumberPickerDialogDismissed(
|
||||
(Actions) getArguments().getSerializable("action"),
|
||||
mSeekBar.getValue()
|
||||
);
|
||||
@ -117,7 +117,7 @@ public class SeekbarDialog extends DialogFragment {
|
||||
FontSize, SelectPage, GoToLine
|
||||
}
|
||||
|
||||
public interface ISeekbarDialog {
|
||||
void onSeekbarDialogDismissed(Actions action, int value);
|
||||
public interface INumberPickerDialog {
|
||||
void onNumberPickerDialogDismissed(Actions action, int value);
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@ -31,6 +31,7 @@ import org.apache.commons.io.FilenameUtils;
|
||||
import java.io.File;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.task.SaveFileTask;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
@ -75,7 +76,7 @@ public class SaveFileDialog extends DialogFragment {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (!fileName.isEmpty())
|
||||
new SaveFileTask(getActivity(), filePath, text,
|
||||
new SaveFileTask((MainActivity) getActivity(), filePath, text,
|
||||
encoding).execute();
|
||||
else {
|
||||
NewFileDetailsDialog dialogFrag =
|
@ -1,198 +0,0 @@
|
||||
/*
|
||||
* 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.fragment;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.adapter.AdapterDrawer;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.util.EventBusEvents;
|
||||
|
||||
|
||||
public class NavigationDrawer extends Fragment implements AdapterView.OnItemClickListener, AdapterDrawer.Callbacks {
|
||||
|
||||
|
||||
private AdapterDrawer arrayAdapter;
|
||||
private ArrayList<File> files;
|
||||
private ListView listView;
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
// Our custom layout
|
||||
View rootView = inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
|
||||
listView = (ListView) rootView.findViewById(android.R.id.list);
|
||||
listView.setEmptyView(rootView.findViewById(android.R.id.empty));
|
||||
files = new ArrayList<>();
|
||||
arrayAdapter = new AdapterDrawer(getActivity(), files, this);
|
||||
listView.setAdapter(arrayAdapter);
|
||||
return rootView;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
listView.setOnItemClickListener(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// Register the Event Bus for events
|
||||
EventBus.getDefault().registerSticky(this);
|
||||
// Refresh the list view
|
||||
refreshList();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
// Unregister the Event Bus
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
// File paths saved in preferences
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
// Path of the file selected
|
||||
String filePath = savedPaths[position];
|
||||
// Send the event that a file was selected
|
||||
EventBus.getDefault().post(new EventBusEvents.NewFileToOpen(new File(filePath)));
|
||||
}
|
||||
|
||||
public void onEvent(EventBusEvents.AFileIsSelected event) {
|
||||
arrayAdapter.selectView(event.getPath());
|
||||
|
||||
EventBus.getDefault().removeStickyEvent(event);
|
||||
}
|
||||
|
||||
public void onEvent(EventBusEvents.NewFileToOpen event) {
|
||||
|
||||
// File paths saved in preferences
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
String selectedPath = event.getFile().getAbsolutePath();
|
||||
boolean pathAlreadyExist = false;
|
||||
for (String savedPath : savedPaths) {
|
||||
// We don't need to save the file path twice
|
||||
if (savedPath.equals(selectedPath)) {
|
||||
pathAlreadyExist = true;
|
||||
}
|
||||
}
|
||||
// Add the path if it wasn't added before
|
||||
if (!pathAlreadyExist)
|
||||
addPath(selectedPath);
|
||||
|
||||
EventBus.getDefault().removeStickyEvent(event);
|
||||
}
|
||||
|
||||
public void onEvent(EventBusEvents.SavedAFile event) {
|
||||
if (addPath(event.getPath())) {
|
||||
arrayAdapter.selectView(event.getPath());
|
||||
}
|
||||
}
|
||||
|
||||
public void onEvent(EventBusEvents.ClosedAFile event) {
|
||||
arrayAdapter.selectView("");
|
||||
}
|
||||
|
||||
private boolean addPath(String path) {
|
||||
// File paths saved in preferences
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
// StringBuilder
|
||||
StringBuilder sb = new StringBuilder();
|
||||
boolean pathAlreadyExist = false;
|
||||
for (String savedPath : savedPaths) {
|
||||
// Append the file path and a comma
|
||||
sb.append(savedPath).append(",");
|
||||
if (savedPath.equals(path))
|
||||
pathAlreadyExist = true;
|
||||
}
|
||||
// Append new path
|
||||
if (!pathAlreadyExist)
|
||||
sb.append(path);
|
||||
// Put the string and commit
|
||||
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||
// Update list
|
||||
refreshList();
|
||||
|
||||
return pathAlreadyExist == false;
|
||||
}
|
||||
|
||||
private void removePath(String path) {
|
||||
// File paths saved in preferences
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
// StringBuilder
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// for cycle
|
||||
for (String savedPath : savedPaths) {
|
||||
if (path.equals(savedPath)) continue;
|
||||
sb.append(savedPath).append(",");
|
||||
}
|
||||
// Put the string and commit
|
||||
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||
// Update list
|
||||
refreshList();
|
||||
}
|
||||
|
||||
private void refreshList() {
|
||||
// File paths saved in preferences
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
// File names for the list
|
||||
files.clear();
|
||||
// StringBuilder that will contain the file paths
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// for cycle to convert paths to names
|
||||
for (String path : savedPaths) {
|
||||
File file = new File(path);
|
||||
// Check that the file exist
|
||||
if (file.exists()) {
|
||||
files.add(file);
|
||||
sb.append(path).append(",");
|
||||
}
|
||||
}
|
||||
// save list without empty or non existed files
|
||||
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||
// Set adapter
|
||||
arrayAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void CancelItem(int position, boolean andCloseOpenedFile) {
|
||||
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||
removePath(savedPaths[position]);
|
||||
if (andCloseOpenedFile)
|
||||
EventBus.getDefault().post(new EventBusEvents.CannotOpenAFile());
|
||||
}
|
||||
}
|
@ -1,211 +0,0 @@
|
||||
/*
|
||||
* 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.preferences;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.util.EventBusEvents;
|
||||
import sharedcode.turboeditor.util.ThemeUtils;
|
||||
|
||||
/**
|
||||
* A {@link PreferenceActivity} that presents a set of application settings. On
|
||||
* handset devices, settings are presented as a single list. On tablets,
|
||||
* settings are split by category, with category headers shown to the left of
|
||||
* the list of settings.
|
||||
* <p/>
|
||||
* See <a href="http://developer.android.com/design/patterns/settings.html">
|
||||
* Android Design: Settings</a> for design guidelines and the <a
|
||||
* href="http://developer.android.com/guide/topics/ui/settings.html">Settings
|
||||
* API Guide</a> for more information on developing a Settings UI.
|
||||
*/
|
||||
public class ExtraSettingsActivity extends PreferenceActivity {
|
||||
/**
|
||||
* Determines whether to always show the simplified settings UI, where
|
||||
* settings are presented in a single list. When false, settings are shown
|
||||
* as a master/detail two-pane view on tablets. When true, a single pane is
|
||||
* shown on tablets.
|
||||
*/
|
||||
private static final boolean ALWAYS_SIMPLE_PREFS = true;
|
||||
boolean encodingChanged = false,
|
||||
themeChanged = false,
|
||||
keyboardSuggestionsChanged = false;
|
||||
/**
|
||||
* A preference value change listener that updates the preference's summary
|
||||
* to reflect its new value.
|
||||
*/
|
||||
private Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object value) {
|
||||
String stringValue = value.toString();
|
||||
|
||||
if (preference instanceof ListPreference) {
|
||||
// For list preferences, look up the correct display value in
|
||||
// the preference's 'entries' list.
|
||||
ListPreference listPreference = (ListPreference) preference;
|
||||
int index = listPreference.findIndexOfValue(stringValue);
|
||||
|
||||
// Set the summary to reflect the new value.
|
||||
preference.setSummary(
|
||||
index >= 0
|
||||
? listPreference.getEntries()[index]
|
||||
: null);
|
||||
|
||||
}
|
||||
switch (preference.getKey()) {
|
||||
case "light_theme":
|
||||
themeChanged = !themeChanged;
|
||||
break;
|
||||
case "suggestion_active":
|
||||
keyboardSuggestionsChanged = !keyboardSuggestionsChanged;
|
||||
break;
|
||||
case "editor_encoding":
|
||||
encodingChanged = true;
|
||||
break;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Helper method to determine if the device has an extra-large screen. For
|
||||
* example, 10" tablets are extra-large.
|
||||
*/
|
||||
private static boolean isXLargeTablet(Context context) {
|
||||
return (context.getResources().getConfiguration().screenLayout
|
||||
& Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
ThemeUtils.setTheme(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
super.onPostCreate(savedInstanceState);
|
||||
|
||||
setupSimplePreferencesScreen();
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the simplified settings UI if the device configuration if the
|
||||
* device configuration dictates that a simplified, single-pane UI should be
|
||||
* shown.
|
||||
*/
|
||||
private void setupSimplePreferencesScreen() {
|
||||
if (!isSimplePreferences(this)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// In the simplified UI, fragments are not used at all and we instead
|
||||
// use the older PreferenceActivity APIs.
|
||||
|
||||
// Add 'general' preferences.
|
||||
addPreferencesFromResource(R.xml.extra_options);
|
||||
|
||||
// Bind the summaries of EditText/List/Dialog/Ringtone preferences to
|
||||
// their values. When their values change, their summaries are updated
|
||||
// to reflect the new value, per the Android Design guidelines.
|
||||
bindPreferenceSummaryToValue(findPreference("editor_encoding"));
|
||||
|
||||
String[] checkBoxPreferences = {"light_theme", "suggestion_active"};
|
||||
for (String key : checkBoxPreferences) {
|
||||
// Set the listener to watch for value changes.
|
||||
findPreference(key).setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean onIsMultiPane() {
|
||||
return isXLargeTablet(this) && !isSimplePreferences(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the simplified settings UI should be shown. This is
|
||||
* true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
|
||||
* doesn't have newer APIs like {@link PreferenceFragment}, or the device
|
||||
* doesn't have an extra-large screen. In these cases, a single-pane
|
||||
* "simplified" settings UI should be shown.
|
||||
*/
|
||||
private boolean isSimplePreferences(Context context) {
|
||||
return ALWAYS_SIMPLE_PREFS
|
||||
|| Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
|
||||
|| !isXLargeTablet(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
List<EventBusEvents.APreferenceValueWasChanged.Type> listOfChanges = new ArrayList<>();
|
||||
if (themeChanged) {
|
||||
listOfChanges.add(EventBusEvents.APreferenceValueWasChanged.Type.THEME_CHANGE);
|
||||
}
|
||||
if (keyboardSuggestionsChanged) {
|
||||
listOfChanges.add(EventBusEvents.APreferenceValueWasChanged.Type.TEXT_SUGGESTIONS);
|
||||
}
|
||||
if (encodingChanged) {
|
||||
listOfChanges.add(EventBusEvents.APreferenceValueWasChanged.Type.ENCODING);
|
||||
}
|
||||
|
||||
|
||||
if (listOfChanges.size() > 0) {
|
||||
EventBus.getDefault().postSticky(new EventBusEvents.APreferenceValueWasChanged(listOfChanges));
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* Binds a preference's summary to its value. More specifically, when the
|
||||
* preference's value is changed, its summary (line of text below the
|
||||
* preference title) is updated to reflect the value. The summary is also
|
||||
* immediately updated upon calling this method. The exact display format is
|
||||
* dependent on the type of preference.
|
||||
*
|
||||
* @see #sBindPreferenceSummaryToValueListener
|
||||
*/
|
||||
private void bindPreferenceSummaryToValue(Preference preference) {
|
||||
// Set the listener to watch for value changes.
|
||||
preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
|
||||
|
||||
// Trigger the listener immediately with the preference's
|
||||
// current value.
|
||||
sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
|
||||
PreferenceManager
|
||||
.getDefaultSharedPreferences(preference.getContext())
|
||||
.getString(preference.getKey(), ""));
|
||||
}
|
||||
}
|
@ -49,7 +49,7 @@ public final class PreferenceHelper {
|
||||
return getPrefs(context).getBoolean("editor_line_numbers", true);
|
||||
}
|
||||
|
||||
public static boolean getSyntaxHiglight(Context context) {
|
||||
public static boolean getSyntaxHighlight(Context context) {
|
||||
return getPrefs(context).getBoolean("editor_syntax_highlight", false);
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ public final class PreferenceHelper {
|
||||
return getPrefs(context).getBoolean("ignore_back_button", false);
|
||||
}
|
||||
|
||||
public static boolean getPageSystemEnabled(Context context) {
|
||||
public static boolean getSplitText(Context context) {
|
||||
return getPrefs(context).getBoolean("page_system_active", true);
|
||||
}
|
||||
|
||||
@ -122,7 +122,7 @@ public final class PreferenceHelper {
|
||||
getEditor(context).putBoolean("editor_line_numbers", value).commit();
|
||||
}
|
||||
|
||||
public static void setSyntaxHiglight(Context context, boolean value) {
|
||||
public static void setSyntaxHighlight(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("editor_syntax_highlight", value).commit();
|
||||
}
|
||||
|
||||
@ -155,7 +155,34 @@ public final class PreferenceHelper {
|
||||
}
|
||||
|
||||
public static void setHasDonated(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("has_donated", value);
|
||||
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 setSuggestionsActive(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("suggestion_active", value).commit();
|
||||
}
|
||||
|
||||
public static void setAutoSave(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("auto_save", value).commit();
|
||||
}
|
||||
|
||||
public static void setIgnoreBackButton(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("ignore_back_button", value).commit();
|
||||
}
|
||||
|
||||
public static void setSplitText(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("page_system_active", value).commit();
|
||||
}
|
||||
|
||||
public static void setSendErrorReport(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("ignore_back_button", value).commit();
|
||||
}
|
||||
|
||||
public static void setEncoding(Context context, String value) {
|
||||
getEditor(context).putString("editor_encoding", value).commit();
|
||||
}
|
||||
}
|
||||
|
@ -20,32 +20,34 @@
|
||||
package sharedcode.turboeditor.preferences;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.fragment.SeekbarDialog;
|
||||
import sharedcode.turboeditor.util.AnimationUtils;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.dialogfragment.EncodingDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.NumberPickerDialog;
|
||||
import sharedcode.turboeditor.util.ProCheckUtils;
|
||||
import sharedcode.turboeditor.util.ViewUtils;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.ENCODING;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.FONT_SIZE;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.LINE_NUMERS;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.MONOSPACE;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.READ_ONLY;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.SYNTAX;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.TEXT_SUGGESTIONS;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.THEME_CHANGE;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.WRAP_CONTENT;
|
||||
|
||||
public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbarDialog {
|
||||
public class SettingsFragment extends Fragment implements NumberPickerDialog.INumberPickerDialog, EncodingDialog.DialogListener {
|
||||
|
||||
// Editor Variables
|
||||
private boolean sLineNumbers;
|
||||
@ -54,86 +56,114 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
private boolean sUseMonospace;
|
||||
private boolean sReadOnly;
|
||||
|
||||
private boolean sLightTheme;
|
||||
private boolean sSuggestions;
|
||||
private boolean sAutoSave;
|
||||
private boolean sIgnoreBackButton;
|
||||
private boolean sSplitText;
|
||||
private boolean sErrorReports;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
sUseMonospace = PreferenceHelper.getUseMonospace(getActivity());
|
||||
sColorSyntax = PreferenceHelper.getSyntaxHiglight(getActivity());
|
||||
sColorSyntax = PreferenceHelper.getSyntaxHighlight(getActivity());
|
||||
sWrapContent = PreferenceHelper.getWrapContent(getActivity());
|
||||
sLineNumbers = PreferenceHelper.getLineNumbers(getActivity());
|
||||
sReadOnly = PreferenceHelper.getReadOnly(getActivity());
|
||||
|
||||
sLightTheme = PreferenceHelper.getLightTheme(getActivity());
|
||||
sSuggestions = PreferenceHelper.getSuggestionActive(getActivity());
|
||||
sAutoSave = PreferenceHelper.getAutoSave(getActivity());
|
||||
sIgnoreBackButton = PreferenceHelper.getIgnoreBackButton(getActivity());
|
||||
sSplitText = PreferenceHelper.getSplitText(getActivity());
|
||||
sErrorReports = PreferenceHelper.getSendErrorReports(getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Our custom layout
|
||||
View rootView = inflater.inflate(R.layout.fragment_settings, container, false);
|
||||
final CheckBox switchLineNumbers, switchSyntax, switchWrapContent, switchMonospace, switchReadOnly;
|
||||
switchLineNumbers = (CheckBox) rootView.findViewById(R.id.switch_line_numbers);
|
||||
switchSyntax = (CheckBox) rootView.findViewById(R.id.switch_syntax);
|
||||
switchWrapContent = (CheckBox) rootView.findViewById(R.id.switch_wrap_content);
|
||||
switchMonospace = (CheckBox) rootView.findViewById(R.id.switch_monospace);
|
||||
switchReadOnly = (CheckBox) rootView.findViewById(R.id.switch_read_only);
|
||||
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;
|
||||
|
||||
switchLineNumbers.setChecked(sLineNumbers);
|
||||
switchSyntax.setChecked(sColorSyntax);
|
||||
switchWrapContent.setChecked(sWrapContent);
|
||||
switchMonospace.setChecked(sUseMonospace);
|
||||
switchReadOnly.setChecked(sReadOnly);
|
||||
swLineNumbers = (SwitchCompat) rootView.findViewById(R.id.switch_line_numbers);
|
||||
swSyntax = (SwitchCompat) rootView.findViewById(R.id.switch_syntax);
|
||||
swWrapContent = (SwitchCompat) rootView.findViewById(R.id.switch_wrap_content);
|
||||
swMonospace = (SwitchCompat) rootView.findViewById(R.id.switch_monospace);
|
||||
swReadOnly = (SwitchCompat) rootView.findViewById(R.id.switch_read_only);
|
||||
|
||||
TextView fontSizeView, donateView, extraOptionsView;
|
||||
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);
|
||||
swSplitText = (SwitchCompat) rootView.findViewById(R.id.switch_page_system);
|
||||
swErrorReports = (SwitchCompat) rootView.findViewById(R.id.switch_send_error_reports);
|
||||
|
||||
swLineNumbers.setChecked(sLineNumbers);
|
||||
swSyntax.setChecked(sColorSyntax);
|
||||
swWrapContent.setChecked(sWrapContent);
|
||||
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;
|
||||
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);
|
||||
donateView = (TextView) rootView.findViewById(R.id.drawer_button_go_pro);
|
||||
|
||||
if(ProCheckUtils.isPro(getActivity(), false))
|
||||
ViewUtils.setVisible(donateView, false);
|
||||
|
||||
switchLineNumbers.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
swLineNumbers.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sLineNumbers = isChecked;
|
||||
PreferenceHelper.setLineNumbers(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(LINE_NUMERS));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(LINE_NUMERS));
|
||||
}
|
||||
});
|
||||
|
||||
switchSyntax.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
swSyntax.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sColorSyntax = isChecked;
|
||||
PreferenceHelper.setSyntaxHiglight(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(SYNTAX));
|
||||
PreferenceHelper.setSyntaxHighlight(getActivity(), isChecked);
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(SYNTAX));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
switchWrapContent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
swWrapContent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sWrapContent = isChecked;
|
||||
PreferenceHelper.setWrapContent(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(WRAP_CONTENT));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(WRAP_CONTENT));
|
||||
}
|
||||
});
|
||||
|
||||
switchMonospace.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
swMonospace.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sUseMonospace = isChecked;
|
||||
PreferenceHelper.setUseMonospace(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(MONOSPACE));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(MONOSPACE));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
switchReadOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
swReadOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sReadOnly = isChecked;
|
||||
PreferenceHelper.setReadOnly(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(READ_ONLY));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(READ_ONLY));
|
||||
}
|
||||
});
|
||||
|
||||
@ -144,18 +174,29 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
int fontCurrent = //(int) (mEditor.getTextSize() / scaledDensity);
|
||||
//fontMax / 2;
|
||||
PreferenceHelper.getFontSize(getActivity());
|
||||
SeekbarDialog dialogFrag = SeekbarDialog.newInstance(SeekbarDialog.Actions
|
||||
NumberPickerDialog dialogFrag = NumberPickerDialog.newInstance(NumberPickerDialog
|
||||
.Actions
|
||||
.FontSize, 1, fontCurrent, fontMax);
|
||||
dialogFrag.setTargetFragment(SettingsFragment.this, 0);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
}
|
||||
});
|
||||
|
||||
encodingView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
EncodingDialog dialogFrag = EncodingDialog.newInstance();
|
||||
dialogFrag.setTargetFragment(SettingsFragment.this, 0);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
}
|
||||
});
|
||||
|
||||
extraOptionsView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
AnimationUtils.startActivityWithScale(getActivity(), new Intent(getActivity(),
|
||||
ExtraSettingsActivity.class), false, 0, v);
|
||||
View otherOptions = rootView.findViewById(R.id.other_options);
|
||||
boolean isVisible = otherOptions.getVisibility() == View.VISIBLE;
|
||||
ViewUtils.setVisible(otherOptions, !isVisible);
|
||||
}
|
||||
});
|
||||
|
||||
@ -166,13 +207,63 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
}
|
||||
});
|
||||
|
||||
swLightTheme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setLightTheme(getActivity(), isChecked);
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(THEME_CHANGE));
|
||||
}
|
||||
});
|
||||
|
||||
swSuggestions.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSuggestionsActive(getActivity(), isChecked);
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(TEXT_SUGGESTIONS));
|
||||
}
|
||||
});
|
||||
|
||||
swAutoSave.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setAutoSave(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swIgnoreBackButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setIgnoreBackButton(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swSplitText.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSplitText(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swErrorReports.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSendErrorReport(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSeekbarDialogDismissed(SeekbarDialog.Actions action, int value) {
|
||||
public void onNumberPickerDialogDismissed(NumberPickerDialog.Actions action, int value) {
|
||||
PreferenceHelper.setFontSize(getActivity(), value);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(FONT_SIZE));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(FONT_SIZE));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEncodingSelected(String result) {
|
||||
PreferenceHelper.setEncoding(getActivity(), result);
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(ENCODING));
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
package sharedcode.turboeditor.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.widget.Toast;
|
||||
|
||||
@ -30,14 +29,14 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.root.RootUtils;
|
||||
import sharedcode.turboeditor.util.EventBusEvents;
|
||||
|
||||
public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
|
||||
private final Context context;
|
||||
private final MainActivity activity;
|
||||
private final String filePath;
|
||||
private final String text;
|
||||
private final String encoding;
|
||||
@ -45,8 +44,8 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
private String message;
|
||||
private String positiveMessage;
|
||||
|
||||
public SaveFileTask(Context context, String filePath, String text, String encoding) {
|
||||
this.context = context;
|
||||
public SaveFileTask(MainActivity activity, String filePath, String text, String encoding) {
|
||||
this.activity = activity;
|
||||
this.filePath = filePath;
|
||||
this.text = text;
|
||||
this.encoding = encoding;
|
||||
@ -56,7 +55,7 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
file = new File(filePath);
|
||||
positiveMessage = String.format(context.getString(R.string.file_saved_with_success), file.getName());
|
||||
positiveMessage = String.format(activity.getString(R.string.file_saved_with_success), file.getName());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -85,7 +84,7 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
}
|
||||
}
|
||||
|
||||
RootUtils.writeFile(context, file.getAbsolutePath(), text, encoding, isRoot);
|
||||
RootUtils.writeFile(activity, file.getAbsolutePath(), text, encoding, isRoot);
|
||||
|
||||
message = positiveMessage;
|
||||
} catch (Exception e) {
|
||||
@ -100,8 +99,8 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
@Override
|
||||
protected void onPostExecute(final Void aVoid) {
|
||||
super.onPostExecute(aVoid);
|
||||
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(activity, message, Toast.LENGTH_LONG).show();
|
||||
if (message.equals(positiveMessage))
|
||||
EventBus.getDefault().post(new EventBusEvents.SavedAFile(filePath));
|
||||
activity.onEvent(new EventBusEvents.SavedAFile(filePath));
|
||||
}
|
||||
}
|
@ -20,6 +20,7 @@
|
||||
package sharedcode.turboeditor.texteditor;
|
||||
|
||||
import android.text.Layout;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
public class LineUtils {
|
||||
@ -34,17 +35,17 @@ public class LineUtils {
|
||||
return realLines;
|
||||
}
|
||||
|
||||
public int getYAtLine(ScrollView scrollView, int lineCount, int line) {
|
||||
public static int getYAtLine(ScrollView scrollView, int lineCount, int line) {
|
||||
return scrollView.getChildAt(0).getHeight() / lineCount * line;
|
||||
}
|
||||
|
||||
public int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException {
|
||||
public static int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException {
|
||||
int line = (scrollView.getScrollY() * lineCount) / childHeight;
|
||||
if (line < 0) line = 0;
|
||||
return line;
|
||||
}
|
||||
|
||||
public int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) {
|
||||
public static int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) {
|
||||
int line = ((scrollView.getScrollY() + deviceHeight) * lineCount) / childHeight;
|
||||
if (line > lineCount) line = lineCount;
|
||||
return line;
|
||||
@ -56,12 +57,16 @@ public class LineUtils {
|
||||
toCountLinesArray = new boolean[lineCount];
|
||||
realLines = new int[lineCount];
|
||||
|
||||
if(TextUtils.isEmpty(text))
|
||||
return;
|
||||
|
||||
int i;
|
||||
|
||||
// for every line on the edittext
|
||||
for (i = 0; i < lineCount; i++) {
|
||||
// check if this line contains "\n"
|
||||
hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n");
|
||||
//hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n");
|
||||
hasNewLineArray[i] = text.charAt(layout.getLineEnd(i) - 1) == '\n';
|
||||
// if true
|
||||
if (hasNewLineArray[i]) {
|
||||
int j = i - 1;
|
||||
@ -91,7 +96,7 @@ public class LineUtils {
|
||||
* @param layout
|
||||
* @return
|
||||
*/
|
||||
public int getLineFromIndex(int index, int lineCount, Layout layout) {
|
||||
public static int getLineFromIndex(int index, int lineCount, Layout layout) {
|
||||
int line;
|
||||
int currentIndex = 0;
|
||||
|
||||
|
@ -20,7 +20,11 @@
|
||||
package sharedcode.turboeditor.texteditor;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@ -33,22 +37,31 @@ public class PageSystem {
|
||||
private int currentPage = 0;
|
||||
private PageSystemInterface pageSystemInterface;
|
||||
|
||||
public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text) {
|
||||
public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text, @Nullable File file) {
|
||||
|
||||
final int charForPage = 15000;
|
||||
final int MAX_KBs_WITHOUT_PAGE_SYSTEM = 50;
|
||||
|
||||
this.pageSystemInterface = pageSystemInterface;
|
||||
pages = new LinkedList<>();
|
||||
|
||||
final boolean dimensionOverLimit;
|
||||
if(file != null && file.exists() && file.isFile())
|
||||
dimensionOverLimit = FileUtils.sizeOf(file) >= MAX_KBs_WITHOUT_PAGE_SYSTEM * FileUtils.ONE_KB;
|
||||
else
|
||||
dimensionOverLimit = false;
|
||||
|
||||
int i = 0;
|
||||
int charForPage = 15000;
|
||||
int maxLenghtInOnePage = 30000;
|
||||
int to;
|
||||
int indexOfReturn;
|
||||
int textLenght = text.length();
|
||||
boolean pageSystemEnabled = PreferenceHelper.getPageSystemEnabled(context);
|
||||
if (pageSystemEnabled && textLenght > maxLenghtInOnePage) {
|
||||
while (i < textLenght && pageSystemEnabled) {
|
||||
int nextIndexOfReturn;
|
||||
final int textLength = text.length();
|
||||
boolean pageSystemEnabled = PreferenceHelper.getSplitText(context);
|
||||
|
||||
if (pageSystemEnabled && dimensionOverLimit) {
|
||||
while (i < textLength) {
|
||||
to = i + charForPage;
|
||||
indexOfReturn = text.indexOf("\n", to);
|
||||
if (indexOfReturn > to) to = indexOfReturn;
|
||||
nextIndexOfReturn = text.indexOf("\n", to);
|
||||
if (nextIndexOfReturn > to) to = nextIndexOfReturn;
|
||||
if (to > text.length()) to = text.length();
|
||||
pages.add(text.substring(i, to));
|
||||
i = to + 1;
|
||||
|
@ -50,11 +50,12 @@ public class Patterns {
|
||||
":[ \t](.+?);");
|
||||
|
||||
public static final Pattern NUMBERS = Pattern.compile(
|
||||
"\\b(\\d*[.]?\\d+)\\b");
|
||||
public static final Pattern CSS_NUMBERS = Pattern.compile(
|
||||
"/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig");
|
||||
"(\\b(\\d*[.]?\\d+)\\b)");
|
||||
//public static final Pattern CSS_NUMBERS = Pattern.compile(
|
||||
// "/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig");
|
||||
public static final Pattern SYMBOLS = Pattern.compile(
|
||||
"(!|,|\\(|\\)|\\+|\\-|\\*|<|>|=|\\.|\\?|;|\\{|\\}|\\[|\\])");
|
||||
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"
|
||||
@ -78,7 +79,8 @@ public class Patterns {
|
||||
// Comments
|
||||
public static final Pattern XML_COMMENTS = Pattern.compile("(?s)<!--.*?-->");
|
||||
public static final Pattern GENERAL_COMMENTS = Pattern.compile(
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|//.*|#.*");
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|(?<!:)//.*|#.*");
|
||||
// same as GENERAL_COMMENTS but without -> //
|
||||
public static final Pattern GENERAL_COMMENTS_NO_SLASH = Pattern.compile(
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|#.*");
|
||||
public static final Pattern SQL_KEYWORDS = Pattern.compile(
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 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 sharedcode.turboeditor.BuildConfig;
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 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.os.Build;
|
||||
|
@ -87,7 +87,7 @@ public class EventBusEvents {
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
FONT_SIZE, ENCODING, SYNTAX, WRAP_CONTENT, MONOSPACE, LINE_NUMERS, THEME_CHANGE, TEXT_SUGGESTIONS, READ_ONLY
|
||||
FONT_SIZE, ENCODING, SYNTAX, WRAP_CONTENT, MONOSPACE, LINE_NUMERS, THEME_CHANGE, TEXT_SUGGESTIONS, READ_ONLY,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,4 +51,7 @@ public class MimeTypes {
|
||||
public static final String[] MIME_SQL = {
|
||||
"sql", "mdf", "ndf", "ldf"
|
||||
};
|
||||
public static final String[] MIME_MARKDOWN = {
|
||||
"md", "mdown", "markdown",
|
||||
};
|
||||
}
|
||||
|
@ -35,6 +35,15 @@ 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);
|
||||
if (whiteTheme) {
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 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;
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 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.graphics.Matrix;
|
||||
|
@ -0,0 +1,290 @@
|
||||
/*
|
||||
* 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.systemui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.view.WindowManager;
|
||||
|
||||
/**
|
||||
* Helper for controlling the visibility of the System UI across the various API levels. To use
|
||||
* this API, instantiate an instance of this class with the required level. The level specifies the
|
||||
* extent to which the System UI's visibility is changed when you call {@link #hide()}
|
||||
* or {@link #toggle()}.
|
||||
*/
|
||||
public final class SystemUiHelper {
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_LOW_PROFILE = 0;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the status bar.
|
||||
* If there is a navigation bar, it will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_HIDE_STATUS_BAR = 1;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the navigation bar
|
||||
* (if present and if possible) and status bar. In cases where the navigation
|
||||
* bar is present but cannot be hidden, it will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_LEAN_BACK = 2;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the navigation bar
|
||||
* (if present and if possible) and status bar, in an immersive mode. This means that the app
|
||||
* will continue to receive all touch events. The user can reveal the system bars with an
|
||||
* inward swipe along the region where the system bars normally appear.
|
||||
*
|
||||
* <p>The {@link #FLAG_IMMERSIVE_STICKY} flag can be used to control how the system bars are
|
||||
* displayed.
|
||||
*/
|
||||
public static final int LEVEL_IMMERSIVE = 3;
|
||||
|
||||
/**
|
||||
* When this flag is set, the
|
||||
* {@link android.view.WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN}
|
||||
* flag will be set on older devices, making the status bar "float" on top
|
||||
* of the activity layout. This is most useful when there are no controls at
|
||||
* the top of the activity layout.
|
||||
* <p>
|
||||
* This flag isn't used on newer devices because the <a
|
||||
* href="http://developer.android.com/design/patterns/actionbar.html">action
|
||||
* bar</a>, the most important structural element of an Android app, should
|
||||
* be visible and not obscured by the system UI.
|
||||
*/
|
||||
public static final int FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES = 0x1;
|
||||
|
||||
/**
|
||||
* Used with {@link #LEVEL_IMMERSIVE}. When this flag is set, an inward swipe in the system
|
||||
* bars areas will cause the system bars to temporarily appear in a semi-transparent state,
|
||||
* but no flags are cleared, and your system UI visibility change listeners are not triggered.
|
||||
* The bars automatically hide again after a short delay, or if the user interacts with the
|
||||
* middle of the screen.
|
||||
*/
|
||||
public static final int FLAG_IMMERSIVE_STICKY = 0x2;
|
||||
|
||||
private static final String LOG_TAG = SystemUiHelper.class.getSimpleName();
|
||||
|
||||
private final SystemUiHelperImpl mImpl;
|
||||
|
||||
private final Handler mHandler;
|
||||
private final Runnable mHideRunnable;
|
||||
|
||||
/**
|
||||
* Construct a new SystemUiHelper.
|
||||
*
|
||||
* @param activity The Activity who's system UI should be changed
|
||||
* @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE},
|
||||
* {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or
|
||||
* {@link #LEVEL_IMMERSIVE}
|
||||
* @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and
|
||||
* {@link #FLAG_IMMERSIVE_STICKY}
|
||||
*/
|
||||
public SystemUiHelper(Activity activity, int level, int flags) {
|
||||
this(activity, level, flags, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new SystemUiHelper.
|
||||
*
|
||||
* @param activity The Activity who's system UI should be changed
|
||||
* @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE},
|
||||
* {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or
|
||||
* {@link #LEVEL_IMMERSIVE}
|
||||
* @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and
|
||||
* {@link #FLAG_IMMERSIVE_STICKY}
|
||||
* @param listener A listener which is called when the system visibility is changed
|
||||
*/
|
||||
public SystemUiHelper(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener listener) {
|
||||
|
||||
mHandler = new Handler(Looper.getMainLooper());
|
||||
mHideRunnable = new HideRunnable();
|
||||
|
||||
// Create impl
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
mImpl = new SystemUiHelperImplKK(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
||||
mImpl = new SystemUiHelperImplJB(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
||||
mImpl = new SystemUiHelperImplICS(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
mImpl = new SystemUiHelperImplHC(activity, level, flags, listener);
|
||||
} else {
|
||||
mImpl = new SystemUiHelperImplBase(activity, level, flags, listener);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the system UI is currently showing. What this means depends on the mode this
|
||||
* {@link android.example.android.systemuivis.SystemUiHelper} was instantiated with.
|
||||
*/
|
||||
public boolean isShowing() {
|
||||
return mImpl.isShowing();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was
|
||||
* instantiated with.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*/
|
||||
public void show() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mImpl.show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was
|
||||
* instantiated with.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*/
|
||||
public void hide() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mImpl.hide();
|
||||
}
|
||||
|
||||
/**
|
||||
* Request that the system UI is hidden after a delay.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*
|
||||
* @param delayMillis The delay (in milliseconds) until the Runnable
|
||||
* will be executed.
|
||||
*/
|
||||
public void delayHide(long delayMillis) {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mHandler.postDelayed(mHideRunnable, delayMillis);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle whether the system UI is displayed.
|
||||
*/
|
||||
public void toggle() {
|
||||
if (mImpl.isShowing()) {
|
||||
mImpl.hide();
|
||||
} else {
|
||||
mImpl.show();
|
||||
}
|
||||
}
|
||||
|
||||
private void removeQueuedRunnables() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
mHandler.removeCallbacks(mHideRunnable);
|
||||
}
|
||||
|
||||
/**
|
||||
* A callback interface used to listen for system UI visibility changes.
|
||||
*/
|
||||
public interface OnVisibilityChangeListener {
|
||||
/**
|
||||
* Called when the system UI visibility has changed.
|
||||
*
|
||||
* @param visible True if the system UI is visible.
|
||||
*/
|
||||
public void onVisibilityChange(boolean visible);
|
||||
}
|
||||
|
||||
static abstract class SystemUiHelperImpl {
|
||||
|
||||
final Activity mActivity;
|
||||
final int mLevel;
|
||||
final int mFlags;
|
||||
final OnVisibilityChangeListener mOnVisibilityChangeListener;
|
||||
|
||||
boolean mIsShowing = true;
|
||||
|
||||
SystemUiHelperImpl(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
mActivity = activity;
|
||||
mLevel = level;
|
||||
mFlags = flags;
|
||||
mOnVisibilityChangeListener = onVisibilityChangeListener;
|
||||
}
|
||||
|
||||
abstract void show();
|
||||
abstract void hide();
|
||||
|
||||
boolean isShowing() {
|
||||
return mIsShowing;
|
||||
}
|
||||
|
||||
void setIsShowing(boolean isShowing) {
|
||||
mIsShowing = isShowing;
|
||||
|
||||
if (mOnVisibilityChangeListener != null) {
|
||||
mOnVisibilityChangeListener.onVisibilityChange(mIsShowing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Base implementation. Used on API level 10 and below.
|
||||
*/
|
||||
static class SystemUiHelperImplBase extends SystemUiHelperImpl {
|
||||
|
||||
SystemUiHelperImplBase(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
|
||||
if ((mFlags & SystemUiHelper.FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) != 0) {
|
||||
mActivity.getWindow().addFlags(
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
|
||||
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void show() {
|
||||
if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
setIsShowing(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide() {
|
||||
if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
setIsShowing(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class HideRunnable implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
hide();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* 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.systemui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
class SystemUiHelperImplHC extends SystemUiHelper.SystemUiHelperImpl
|
||||
implements View.OnSystemUiVisibilityChangeListener {
|
||||
|
||||
final View mDecorView;
|
||||
|
||||
SystemUiHelperImplHC(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
|
||||
mDecorView = activity.getWindow().getDecorView();
|
||||
mDecorView.setOnSystemUiVisibilityChangeListener(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
void show() {
|
||||
mDecorView.setSystemUiVisibility(createShowFlags());
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide() {
|
||||
mDecorView.setSystemUiVisibility(createHideFlags());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void onSystemUiVisibilityChange(int visibility) {
|
||||
if ((visibility & createTestFlags()) != 0) {
|
||||
onSystemUiHidden();
|
||||
} else {
|
||||
onSystemUiShown();
|
||||
}
|
||||
}
|
||||
|
||||
protected void onSystemUiShown() {
|
||||
ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar();
|
||||
if (ab != null) {
|
||||
ab.show();
|
||||
}
|
||||
|
||||
mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
|
||||
setIsShowing(true);
|
||||
}
|
||||
|
||||
protected void onSystemUiHidden() {
|
||||
ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar();
|
||||
if (ab != null) {
|
||||
ab.hide();
|
||||
}
|
||||
|
||||
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
|
||||
setIsShowing(false);
|
||||
}
|
||||
|
||||
protected int createShowFlags() {
|
||||
return View.STATUS_BAR_VISIBLE;
|
||||
}
|
||||
|
||||
protected int createHideFlags() {
|
||||
return View.STATUS_BAR_HIDDEN;
|
||||
}
|
||||
|
||||
protected int createTestFlags() {
|
||||
return View.STATUS_BAR_HIDDEN;
|
||||
}
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* 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.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
||||
class SystemUiHelperImplICS extends SystemUiHelperImplHC {
|
||||
|
||||
SystemUiHelperImplICS(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createShowFlags() {
|
||||
return View.SYSTEM_UI_FLAG_VISIBLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createTestFlags() {
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
// Intentionally override test flags.
|
||||
return View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
|
||||
}
|
||||
|
||||
return View.SYSTEM_UI_FLAG_LOW_PROFILE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = View.SYSTEM_UI_FLAG_LOW_PROFILE;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* 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.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActionBar;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
|
||||
class SystemUiHelperImplJB extends SystemUiHelperImplICS {
|
||||
|
||||
SystemUiHelperImplJB(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createShowFlags() {
|
||||
int flag = super.createShowFlags();
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = super.createHideFlags();
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSystemUiShown() {
|
||||
if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
// Manually show the action bar when in low profile mode.
|
||||
ActionBar ab = mActivity.getActionBar();
|
||||
if (ab != null) {
|
||||
ab.show();
|
||||
}
|
||||
}
|
||||
|
||||
setIsShowing(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSystemUiHidden() {
|
||||
if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
// Manually hide the action bar when in low profile mode.
|
||||
ActionBar ab = mActivity.getActionBar();
|
||||
if (ab != null) {
|
||||
ab.hide();
|
||||
}
|
||||
}
|
||||
|
||||
setIsShowing(true);
|
||||
}
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* 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.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
class SystemUiHelperImplKK extends SystemUiHelperImplJB {
|
||||
|
||||
SystemUiHelperImplKK(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = super.createHideFlags();
|
||||
|
||||
if (mLevel == SystemUiHelper.LEVEL_IMMERSIVE) {
|
||||
// If the client requested immersive mode, and we're on Android 4.4
|
||||
// or later, add relevant flags. Applying HIDE_NAVIGATION without
|
||||
// IMMERSIVE prevents the activity from accepting all touch events,
|
||||
// so we only do this on Android 4.4 and later (where IMMERSIVE is
|
||||
// present).
|
||||
flag |= ((mFlags & SystemUiHelper.FLAG_IMMERSIVE_STICKY) != 0)
|
||||
? View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||
: View.SYSTEM_UI_FLAG_IMMERSIVE;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
}
|
@ -24,7 +24,7 @@ import android.support.v4.widget.DrawerLayout;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
public class CustomDrawerLayout extends DrawerLayout {
|
||||
public class CustomDrawerLayout extends DrawerLayout{
|
||||
public CustomDrawerLayout(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
@ -16,11 +16,8 @@
|
||||
* 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.views;
|
||||
|
||||
/**
|
||||
* Created by Artem on 28.01.14.
|
||||
*/
|
||||
package sharedcode.turboeditor.views;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
@ -41,7 +38,7 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.fragment.AboutDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.AboutDialog;
|
||||
import sharedcode.turboeditor.iab.DonationFragment;
|
||||
|
||||
/**
|
||||
|
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 2.9 KiB |