Merge branch 'develop' into update_studio
|
|
@ -32,10 +32,10 @@ android:
|
|||
- tools
|
||||
|
||||
# The BuildTools version used by your project
|
||||
- build-tools-25.0.3
|
||||
- build-tools-26.0.1
|
||||
|
||||
# The SDK version used to compile your project
|
||||
- android-25
|
||||
- android-26
|
||||
|
||||
# Additional components
|
||||
- extra-google-google_play_services
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<code_scheme name="AndroidStyle">
|
||||
<code_scheme name="HabiticaAndroidStyle">
|
||||
<option name="JAVA_INDENT_OPTIONS">
|
||||
<value>
|
||||
<option name="INDENT_SIZE" value="4" />
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.habitrpg.android.habitica"
|
||||
android:versionCode="1892"
|
||||
android:versionName="1.0.4"
|
||||
android:versionCode="1948"
|
||||
android:versionName="1.3"
|
||||
android:screenOrientation="portrait"
|
||||
android:installLocation="auto" >
|
||||
|
||||
|
|
@ -19,7 +19,6 @@
|
|||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:name=".HabiticaApplication"
|
||||
|
|
@ -27,7 +26,8 @@
|
|||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:name">
|
||||
tools:replace="android:name"
|
||||
android:fullBackupContent="@xml/backup_descriptor">
|
||||
<activity
|
||||
android:name=".ui.activities.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
|
|
@ -46,6 +46,13 @@
|
|||
android:screenOrientation="portrait"
|
||||
tools:ignore="UnusedAttribute">
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".ui.activities.FixCharacterValuesActivity"
|
||||
android:parentActivityName=".ui.activities.PrefsActivity"
|
||||
android:label="@string/PS_settings_title"
|
||||
android:screenOrientation="portrait"
|
||||
tools:ignore="UnusedAttribute">
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".ui.activities.LoginActivity"
|
||||
android:label="@string/LoginActivityName"
|
||||
|
|
@ -162,13 +169,14 @@
|
|||
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
|
||||
<activity android:name=".ui.activities.GemPurchaseActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<receiver android:process=":remote" android:name=".NotificationPublisher" />
|
||||
<receiver android:process=":remote" android:name=".receivers.NotificationPublisher" />
|
||||
|
||||
<receiver
|
||||
android:process=":remote"
|
||||
android:name=".receivers.TaskReceiver"/>
|
||||
|
||||
<receiver android:name=".receivers.LocalNotificationActionReceiver">
|
||||
<receiver android:name=".receivers.LocalNotificationActionReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="ACCEPT_PARTY_INVITE"/>
|
||||
<action android:name="REJECT_PARTY_INVITE"/>
|
||||
|
|
@ -193,13 +201,15 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
<service
|
||||
android:name=".helpers.notifications.HabiticaFirebaseMessagingService">
|
||||
android:name=".helpers.notifications.HabiticaFirebaseMessagingService"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service
|
||||
android:name=".helpers.notifications.HabiticaFirebaseInstanceIDService">
|
||||
android:name=".helpers.notifications.HabiticaFirebaseInstanceIDService"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
|
||||
</intent-filter>
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE HabitRPGUser ADD COLUMN flags_id varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Quest ADD COLUMN RSVPNeeded bool;
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
DELETE FROM QuestContent;
|
||||
ALTER TABLE QuestProgress ADD COLUMN hp float;
|
||||
ALTER TABLE QuestProgress ADD COLUMN rage float;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE ItemData ADD COLUMN owned bool;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE QuestContent ADD COLUMN 'owned' INTEGER DEFAULT 0;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE QuestContent ADD COLUMN 'boss_id' bool;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE UserParty ADD COLUMN 'partyOrder' varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE HabitRPGUser ADD COLUMN authentication_id varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Preferences ADD COLUMN 'chair' varchar(255);
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
ALTER TABLE HabitRPGUser ADD COLUMN 'contributor_id' INTEGER;
|
||||
ALTER TABLE HabitRPGUser ADD COLUMN 'inbox_id' INTEGER;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE HabitRPGUser ADD COLUMN 'invitations_id' INTEGER;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Preferences ADD COLUMN 'language' varchar(15);
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
ALTER TABLE Buffs ADD COLUMN seafoam bool;
|
||||
ALTER TABLE Buffs ADD COLUMN spookySparkles bool;
|
||||
ALTER TABLE Buffs ADD COLUMN shinySeed bool;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Items ADD COLUMN 'special_id' INTEGER;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Preferences ADD COLUMN 'sound' varchar(50);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE HabitRPGUser ADD COLUMN purchased_id varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN group_id varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE ItemData ADD COLUMN specialClass varchar(255);
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
ALTER TABLE Preferences ADD COLUMN dailyDueDefaultView bool;
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Customization ADD COLUMN isBuyable bool;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN isDue BOOLEAN;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN nextDue DATE;
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN daysOfMonthString varchar(255);
|
||||
ALTER TABLE Task ADD COLUMN weeksOfMonthString varchar(255);
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN 'position' INTEGER DEFAULT 0;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Hair ADD COLUMN 'flower' INTEGER DEFAULT 0;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE ChecklistItem ADD COLUMN 'position' INTEGER DEFAULT 0;
|
||||
|
|
@ -1 +0,0 @@
|
|||
ALTER TABLE Task ADD COLUMN 'duedate' DATE;
|
||||
|
|
@ -1,6 +1,11 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
apply plugin: 'com.android.databinding'
|
||||
apply plugin: 'io.fabric'
|
||||
apply plugin: 'com.neenbedankt.android-apt'
|
||||
apply plugin: 'com.noveogroup.android.check'
|
||||
apply plugin: 'realm-android'
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
|
|
@ -10,7 +15,8 @@ buildscript {
|
|||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'io.fabric.tools:gradle:1.22.1'
|
||||
classpath 'io.fabric.tools:gradle:1.21.6'
|
||||
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
|
||||
classpath('com.noveogroup.android:check:1.2.3') {
|
||||
exclude module: 'checkstyle'
|
||||
exclude module: 'pmd-java'
|
||||
|
|
@ -33,127 +39,107 @@ repositories {
|
|||
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
|
||||
|
||||
maven { url "https://jitpack.io" }
|
||||
|
||||
maven { url "https://maven.google.com" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile fileTree(include: ['*.jar'], dir: 'libs')
|
||||
//Networking
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.7.0'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
|
||||
compile 'com.squareup.okhttp3:okhttp:3.9.0'
|
||||
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
|
||||
//REST API handling
|
||||
implementation('com.squareup.retrofit2:retrofit:2.2.0') {
|
||||
compile('com.squareup.retrofit2:retrofit:2.3.0') {
|
||||
exclude module: 'okhttp'
|
||||
}
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
|
||||
implementation 'com.squareup.retrofit2:adapter-rxjava:2.2.0'
|
||||
|
||||
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
|
||||
compile 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
|
||||
//Crash Logging
|
||||
releaseImplementation('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
|
||||
transitive = true
|
||||
releaseCompile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
|
||||
transitive = true;
|
||||
}
|
||||
|
||||
// View Elements Binding :)
|
||||
implementation 'com.jakewharton:butterknife:8.5.1'
|
||||
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
|
||||
|
||||
compile 'com.jakewharton:butterknife:8.8.1'
|
||||
apt 'com.jakewharton:butterknife-compiler:8.8.1'
|
||||
//Dependency Injection
|
||||
implementation 'com.google.dagger:dagger:2.10'
|
||||
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
|
||||
compileOnly 'org.glassfish:javax.annotation:10.0-b28'
|
||||
compile 'com.google.dagger:dagger:2.11'
|
||||
apt 'com.google.dagger:dagger-compiler:2.11'
|
||||
provided 'org.glassfish:javax.annotation:10.0-b28'
|
||||
//App Compatibility and Material Design
|
||||
implementation('com.mikepenz:materialdrawer:5.8.3@aar') {
|
||||
compile('com.mikepenz:materialdrawer:5.8.3@aar') {
|
||||
transitive = true
|
||||
}
|
||||
implementation 'com.android.support:appcompat-v7:25.3.1'
|
||||
implementation 'com.android.support:design:25.3.1'
|
||||
implementation 'com.android.support:recyclerview-v7:25.3.1'
|
||||
implementation 'com.android.support:preference-v14:25.3.1'
|
||||
implementation 'com.android.support:multidex:1.0.1'
|
||||
|
||||
compile 'com.android.support:appcompat-v7:26.1.0'
|
||||
compile 'com.android.support:design:26.1.0'
|
||||
compile 'com.android.support:recyclerview-v7:26.1.0'
|
||||
compile 'com.android.support:preference-v14:26.1.0'
|
||||
//QR Code
|
||||
implementation 'com.github.kenglxn.QRGen:android:2.2.0'
|
||||
|
||||
compile 'com.github.kenglxn.QRGen:android:2.2.0'
|
||||
// Emojis
|
||||
implementation 'com.github.viirus:emoji-lib:0.0.3.4'
|
||||
|
||||
compile 'com.github.viirus:emoji-lib:0.0.5'
|
||||
// Markdown
|
||||
implementation 'com.commonsware.cwac:anddown:0.3.0'
|
||||
|
||||
compile 'com.commonsware.cwac:anddown:0.4.0'
|
||||
// About View for all dependent Libraries, we are using
|
||||
implementation('com.mikepenz:aboutlibraries:5.9.4@aar') {
|
||||
compile('com.mikepenz:aboutlibraries:5.9.4@aar') {
|
||||
transitive = true
|
||||
}
|
||||
|
||||
// a better fab alternative
|
||||
implementation 'com.github.clans:fab:1.6.4'
|
||||
|
||||
// ORM
|
||||
annotationProcessor 'com.raizlabs.android:DBFlow-Compiler:2.2.1'
|
||||
implementation "com.raizlabs.android:DBFlow-Core:2.2.1"
|
||||
implementation "com.raizlabs.android:DBFlow:2.2.1"
|
||||
|
||||
compile 'com.github.clans:fab:1.6.4'
|
||||
//Eventbus
|
||||
implementation 'org.greenrobot:eventbus:3.0.0'
|
||||
|
||||
compile 'org.greenrobot:eventbus:3.0.0'
|
||||
// IAP Handling / Verification
|
||||
implementation 'org.solovyev.android:checkout:0.9.3@aar'
|
||||
|
||||
compile 'org.solovyev.android:checkout:1.0.1'
|
||||
//Facebook
|
||||
implementation('com.facebook.android:facebook-android-sdk:4.19.0') {
|
||||
compile('com.facebook.android:facebook-android-sdk:4.19.0') {
|
||||
transitive = true
|
||||
}
|
||||
|
||||
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
|
||||
|
||||
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
|
||||
// lodash/underscore
|
||||
implementation 'com.github.javadev:underscore:1.23'
|
||||
|
||||
compile 'com.github.javadev:underscore:1.23'
|
||||
//RxJava
|
||||
implementation 'io.reactivex:rxandroid:1.2.1'
|
||||
implementation 'io.reactivex:rxjava:1.2.0'
|
||||
|
||||
compile 'io.reactivex:rxandroid:1.2.1'
|
||||
compile 'io.reactivex:rxjava:1.3.2'
|
||||
//Analytics
|
||||
implementation 'com.amplitude:android-sdk:2.13.3'
|
||||
|
||||
compile 'com.amplitude:android-sdk:2.14.1'
|
||||
// Fresco Image Management Library
|
||||
implementation('com.facebook.fresco:fresco:1.3.0') {
|
||||
compile('com.facebook.fresco:fresco:1.5.0') {
|
||||
exclude module: 'bolts-android'
|
||||
}
|
||||
implementation('com.facebook.fresco:animated-gif:1.3.0') {
|
||||
compile('com.facebook.fresco:animated-gif:1.5.0') {
|
||||
exclude module: 'bolts-android'
|
||||
}
|
||||
//Tests
|
||||
testImplementation "junit:junit:4.12"
|
||||
testImplementation "org.assertj:assertj-core:1.7.0"
|
||||
testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
|
||||
testImplementation "org.robolectric:robolectric:3.2"
|
||||
testImplementation 'org.robolectric:shadows-multidex:3.1'
|
||||
testImplementation "org.robolectric:shadows-support-v4:3.1"
|
||||
testImplementation "org.mockito:mockito-core:2.8.9"
|
||||
|
||||
testCompile 'junit:junit:4.10'
|
||||
testCompile 'org.assertj:assertj-core:1.7.0'
|
||||
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
|
||||
testCompile 'org.robolectric:robolectric:3.3.2'
|
||||
testCompile 'org.robolectric:shadows-multidex:3.3.2'
|
||||
testCompile 'org.robolectric:shadows-support-v4:3.3.2'
|
||||
testCompile 'org.mockito:mockito-core:2.8.9'
|
||||
testCompile 'org.powermock:powermock-api-mockito2:1.7.0'
|
||||
testCompile 'org.powermock:powermock-module-junit4-rule-agent:1.7.0'
|
||||
testCompile 'org.powermock:powermock-module-junit4-rule:1.7.0'
|
||||
testCompile 'org.powermock:powermock-module-junit4:1.7.0'
|
||||
//Leak Detection
|
||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5'
|
||||
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
|
||||
|
||||
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
|
||||
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
|
||||
//Push Notifications
|
||||
implementation 'com.google.firebase:firebase-core:10.2.6'
|
||||
implementation 'com.google.firebase:firebase-messaging:10.2.6'
|
||||
|
||||
implementation 'com.google.android.gms:play-services-auth:10.2.6'
|
||||
|
||||
implementation 'org.apmem.tools:layouts:1.10@aar'
|
||||
|
||||
implementation 'com.roughike:bottom-bar:2.2.0'
|
||||
|
||||
implementation(project(':seeds-sdk')) {
|
||||
compile 'com.google.firebase:firebase-core:11.4.0'
|
||||
compile 'com.google.firebase:firebase-messaging:11.4.0'
|
||||
compile 'com.google.android.gms:play-services-auth:11.4.0'
|
||||
compile 'org.apmem.tools:layouts:1.10@aar'
|
||||
compile 'com.roughike:bottom-bar:2.3.1'
|
||||
compile 'io.realm:android-adapters:2.1.0'
|
||||
compile(project(':seeds-sdk')) {
|
||||
exclude group: 'com.google.android.gms'
|
||||
exclude group: 'com.android.support', module: 'multidex'
|
||||
}
|
||||
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 25
|
||||
buildToolsVersion "25.0.3"
|
||||
compileSdkVersion sdk_version
|
||||
buildToolsVersion build_tools_version
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.habitrpg.android.habitica"
|
||||
|
|
@ -173,6 +159,8 @@ android {
|
|||
applicationIdSuffix ".debug"
|
||||
debuggable true
|
||||
multiDexEnabled true
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
// Disable fabric build ID generation for debug builds
|
||||
ext.enableCrashlytics = false
|
||||
ext.alwaysUpdateBuildId = false
|
||||
|
|
@ -182,15 +170,18 @@ android {
|
|||
release {
|
||||
signingConfig signingConfigs.release
|
||||
debuggable false
|
||||
multiDexEnabled true
|
||||
multiDexEnabled false
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
resValue "string", "content_provider", "com.habitrpg.android.habitica.fileprovider"
|
||||
resValue "string", "app_name", "Habitica"
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions "default"
|
||||
productFlavors {
|
||||
dev {
|
||||
minSdkVersion 21
|
||||
buildConfigField "String", "STAGING_KEY", "\"1dcf9ed3-3b14-45b3-9e7e-acdfff68a368\""
|
||||
}
|
||||
|
||||
prod {
|
||||
|
|
@ -231,16 +222,21 @@ android {
|
|||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'UnusedResources','MissingTranslation','UnusedAttribute','InvalidPackage'
|
||||
disable 'MissingTranslation','InvalidPackage'
|
||||
enable 'LogConditional','IconExpectedSize','MissingRegistered','TypographyQuotes'
|
||||
}
|
||||
|
||||
dataBinding {
|
||||
enabled = true
|
||||
splits {
|
||||
abi {
|
||||
enable true
|
||||
reset()
|
||||
include 'armeabi-v7a', 'arm64-v8a', 'mips', 'x86', 'x86_64'
|
||||
universalApk true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Properties props = new Properties()
|
||||
def Properties props = new Properties()
|
||||
def propFile = new File('signingrelease.properties')
|
||||
if (propFile.canRead()) {
|
||||
props.load(new FileInputStream(propFile))
|
||||
|
|
@ -307,4 +303,5 @@ tasks.whenTaskAdded { task ->
|
|||
check { findbugs { skip true } }
|
||||
|
||||
apply plugin: 'com.android.application' //or apply plugin: 'java'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'me.tatarka.retrolambda'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the ProGuard
|
||||
# include property in project.properties.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
180
Habitica/proguard-rules.pro
vendored
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the ProGuard
|
||||
# include property in project.properties.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
-keepattributes Signature
|
||||
-keepattributes *Annotation*
|
||||
-keepattributes Exceptions
|
||||
-keep class sun.misc.Unsafe { *; }
|
||||
|
||||
#retrolambda
|
||||
-dontwarn java.lang.invoke.*
|
||||
-dontwarn sun.misc.**
|
||||
|
||||
#rxJava
|
||||
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
|
||||
long producerIndex;
|
||||
long consumerIndex;
|
||||
}
|
||||
|
||||
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
|
||||
rx.internal.util.atomic.LinkedQueueNode producerNode;
|
||||
}
|
||||
|
||||
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
|
||||
rx.internal.util.atomic.LinkedQueueNode consumerNode;
|
||||
}
|
||||
|
||||
#OkHttp
|
||||
-keep class okhttp3.** { *; }
|
||||
-keep,includedescriptorclasses class okio.Source
|
||||
-keep,includedescriptorclasses class okio.okio.Buffer
|
||||
-keep interface okhttp3.** { *; }
|
||||
-dontwarn okhttp3.**
|
||||
|
||||
|
||||
#retrofit
|
||||
-dontwarn retrofit2.**
|
||||
-keep class retrofit2.** { *; }
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
|
||||
#gson
|
||||
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
|
||||
-keep class * implements com.google.gson.TypeAdapterFactory
|
||||
-keep class * implements com.google.gson.JsonSerializer
|
||||
-keep class * implements com.google.gson.JsonDeserializer
|
||||
|
||||
#keep models
|
||||
-keep class com.habitrpg.android.habitica.models.** { *; }
|
||||
|
||||
#realm
|
||||
-keep class io.realm.annotations.RealmModule
|
||||
-keep @io.realm.annotations.RealmModule class *
|
||||
-keep class io.realm.internal.Keep
|
||||
-keep @io.realm.internal.Keep class *
|
||||
-dontwarn javax.**
|
||||
-dontwarn io.realm.**
|
||||
|
||||
#support library
|
||||
-keep class android.support.v7.widget.SearchView { *; }
|
||||
|
||||
#eventbus
|
||||
-keepclassmembers class ** {
|
||||
@org.greenrobot.eventbus.Subscribe <methods>;
|
||||
}
|
||||
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
||||
|
||||
# Only required if you use AsyncExecutor
|
||||
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
||||
<init>(java.lang.Throwable);
|
||||
}
|
||||
|
||||
#crashlytic
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
-keep public class * extends java.lang.Exception
|
||||
-keep class com.crashlytics.** { *; }
|
||||
-dontwarn com.crashlytics.**
|
||||
|
||||
#fresko
|
||||
# Keep our interfaces so they can be used by other ProGuard rules.
|
||||
# See http://sourceforge.net/p/proguard/bugs/466/
|
||||
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
||||
|
||||
# Do not strip any method/class that is annotated with @DoNotStrip
|
||||
-keep @com.facebook.common.internal.DoNotStrip class *
|
||||
-keepclassmembers class * {
|
||||
@com.facebook.common.internal.DoNotStrip *;
|
||||
}
|
||||
|
||||
# Keep native methods
|
||||
-keepclassmembers class * {
|
||||
native <methods>;
|
||||
}
|
||||
# Keep our interfaces so they can be used by other ProGuard rules.
|
||||
# See http://sourceforge.net/p/proguard/bugs/466/
|
||||
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
||||
|
||||
# Do not strip any method/class that is annotated with @DoNotStrip
|
||||
-keep @com.facebook.common.internal.DoNotStrip class *
|
||||
-keepclassmembers class * {
|
||||
@com.facebook.common.internal.DoNotStrip *;
|
||||
}
|
||||
|
||||
# Keep native methods
|
||||
-keepclassmembers class * {
|
||||
native <methods>;
|
||||
}
|
||||
#end fresko
|
||||
|
||||
#amplitude
|
||||
-keep class com.google.android.gms.ads.** { *; }
|
||||
#end amplitude
|
||||
|
||||
#playservices
|
||||
-keep class * extends java.util.ListResourceBundle {
|
||||
protected Object[][] getContents();
|
||||
}
|
||||
|
||||
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
|
||||
public static final *** NULL;
|
||||
}
|
||||
|
||||
-keepnames @com.google.android.gms.common.annotation.KeepName class *
|
||||
-keepclassmembernames class * {
|
||||
@com.google.android.gms.common.annotation.KeepName *;
|
||||
}
|
||||
|
||||
-keepnames class * implements android.os.Parcelable {
|
||||
public static final ** CREATOR;
|
||||
}
|
||||
-keep class com.google.android.gms.** { *; }
|
||||
-dontwarn com.google.android.gms.**
|
||||
#end playservices
|
||||
|
||||
#checkout
|
||||
-keep class com.android.vending.billing.**
|
||||
|
||||
#seeds sdk
|
||||
-keep class com.playseeds.** { *; }
|
||||
|
||||
-assumenosideeffects class org.solovyev.android.checkout.Billing {
|
||||
public static void debug(...);
|
||||
public static void warning(...);
|
||||
public static void error(...);
|
||||
}
|
||||
|
||||
-assumenosideeffects class org.solovyev.android.checkout.Check {
|
||||
static *;
|
||||
}
|
||||
#end chekout
|
||||
|
||||
#add warnings here, warnings in proguard is normal
|
||||
-dontwarn javax.annotation.**
|
||||
-dontwarn com.squareup.picasso.**
|
||||
-dontwarn okio.**
|
||||
-dontwarn rx.**
|
||||
-dontwarn com.android.volley.toolbox.**
|
||||
-dontwarn com.facebook.infer.**
|
||||
-dontwarn com.roughike.bottombar.**
|
||||
-dontwarn com.viewpagerindicator.**
|
||||
#-ignorewarnings
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
BIN
Habitica/res/drawable-hdpi/currency_gem.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
BIN
Habitica/res/drawable-hdpi/difficulty_empty.png
Normal file
|
After Width: | Height: | Size: 269 B |
BIN
Habitica/res/drawable-hdpi/difficulty_full.png
Normal file
|
After Width: | Height: | Size: 271 B |
BIN
Habitica/res/drawable-hdpi/ic_filters_active.png
Normal file
|
After Width: | Height: | Size: 359 B |
|
Before Width: | Height: | Size: 737 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1,003 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 973 B |
|
Before Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 992 B |
|
Before Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
BIN
Habitica/res/drawable-hdpi/ic_info_outline_black_24dp.png
Normal file
|
After Width: | Height: | Size: 566 B |
BIN
Habitica/res/drawable-hdpi/ic_send_grey_600_24dp.png
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
Habitica/res/drawable-hdpi/icon_custom_reward.png
Normal file
|
After Width: | Height: | Size: 826 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 601 B |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 907 B After Width: | Height: | Size: 578 B |
|
Before Width: | Height: | Size: 923 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 679 B |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 560 B |
|
Before Width: | Height: | Size: 387 B |
|
Before Width: | Height: | Size: 184 B |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
BIN
Habitica/res/drawable-mdpi/currency_gem.png
Normal file
|
After Width: | Height: | Size: 743 B |
|
Before Width: | Height: | Size: 1,016 B |
BIN
Habitica/res/drawable-mdpi/difficulty_empty.png
Normal file
|
After Width: | Height: | Size: 201 B |
BIN
Habitica/res/drawable-mdpi/difficulty_full.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
Habitica/res/drawable-mdpi/ic_filters_active.png
Normal file
|
After Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 701 B |
|
Before Width: | Height: | Size: 716 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 623 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 602 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 620 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
BIN
Habitica/res/drawable-mdpi/ic_info_outline_black_24dp.png
Normal file
|
After Width: | Height: | Size: 365 B |
BIN
Habitica/res/drawable-mdpi/ic_send_grey_600_24dp.png
Normal file
|
After Width: | Height: | Size: 257 B |
BIN
Habitica/res/drawable-mdpi/icon_custom_reward.png
Normal file
|
After Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 336 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 705 B After Width: | Height: | Size: 340 B |
|
Before Width: | Height: | Size: 743 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 408 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 680 B |
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
Habitica/res/drawable-mdpi/shop_empty_hourglass.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
Habitica/res/drawable-mdpi/shop_empty_seasonal.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |