Loading .gitignore 0 → 100644 +10 −0 Original line number Diff line number Diff line *.iml .gradle /local.properties /.idea/* .DS_Store /build /captures .externalNativeBuild .cxx local.properties app/.gitignore 0 → 100644 +2 −0 Original line number Diff line number Diff line /build No newline at end of file app/build.gradle 0 → 100644 +123 −0 Original line number Diff line number Diff line plugins { id 'com.android.application' } def flavor android { compileSdk 31 defaultConfig { minSdk 21 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions "default" buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } productFlavors { fdroid { applicationId "fr.gouv.etalab.mastodon" buildConfigField "boolean", "DONATIONS", "true" buildConfigField "boolean", "push", "false" flavor = "fdroid" } playstore { applicationId "app.fedilab.android" buildConfigField "boolean", "DONATIONS", "false" buildConfigField "boolean", "push", "true" flavor = "playstore" } } lintOptions { checkReleaseBuilds false abortOnError false } buildFeatures { viewBinding true } sourceSets { playstore { manifest.srcFile "src/playstore/AndroidManifest.xml" java.srcDirs = ['src/main/java', 'src/playstore/java'] res.srcDirs = ['src/main/res', 'src/playstore/res'] } fdroid { java.srcDirs = ['src/main/java', 'src/fdroid/java'] res.srcDirs = ['src/main/res', 'src/fdroid/res'] } } configurations { all { exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' } } } allprojects { repositories { mavenLocal() maven { url "https://jitpack.io" } } } dependencies { implementation project(':autoimageslider') implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation "com.google.code.gson:gson:2.8.6" implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.preference:preference:1.2.0' implementation 'com.github.evozi:Cyanea:1.0.7' implementation 'com.vanniktech:emoji-one:0.6.0' implementation 'com.github.GrenderG:Toasty:1.5.2' implementation 'org.framagit.tom79:SparkButton:1.0.13' implementation "com.github.bumptech.glide:glide:4.12.0" implementation 'com.github.mergehez:ArgPlayer:v3.1' implementation ("com.github.bumptech.glide:recyclerview-integration:4.12.0") { // Excludes the support library because it's already included by Glide. transitive = false } implementation project(path: ':mytransl') implementation project(path: ':ratethisapp') annotationProcessor "com.github.bumptech.glide:compiler:4.12.0" implementation 'jp.wasabeef:glide-transformations:4.3.0' implementation 'com.github.penfeizhou.android.animation:apng:2.17.0' implementation 'com.github.penfeizhou.android.animation:gif:2.17.0' implementation 'com.google.android.exoplayer:exoplayer:2.16.1' implementation 'com.github.piasy:rxandroidaudio:1.7.0' implementation 'com.github.piasy:AudioProcessor:1.7.0' implementation "androidx.work:work-runtime:2.7.1" implementation 'app.futured.hauler:hauler:5.0.0' implementation "com.github.chrisbanes:PhotoView:2.3.0" implementation "ch.acra:acra-mail:5.5.0" implementation "ch.acra:acra-limiter:5.5.0" implementation "ch.acra:acra-notification:5.5.0" implementation "com.madgag.spongycastle:bctls-jdk15on:1.58.0.0" implementation 'com.github.UnifiedPush:android-connector:2.0.0' // implementation 'com.github.UnifiedPush:android-foss_embedded_fcm_distributor:1.0.0-beta1' playstoreImplementation 'com.github.UnifiedPush:android-embedded_fcm_distributor:1.1.0' implementation 'com.burhanrashid52:photoeditor:1.5.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' implementation 'androidx.lifecycle:lifecycle-livedata:2.4.1' implementation 'androidx.lifecycle:lifecycle-viewmodel:2.4.1' implementation 'androidx.navigation:navigation-fragment:2.4.1' implementation 'androidx.navigation:navigation-ui:2.4.1' testImplementation 'junit:junit:' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' } No newline at end of file app/proguard-rules.pro 0 → 100644 +22 −0 Original line number Diff line number Diff line # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # 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 *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile No newline at end of file app/src/androidTest/java/app/fedilab/android/ExampleInstrumentedTest.java 0 → 100644 +27 −0 Original line number Diff line number Diff line package app.fedilab.android; import android.content.Context; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.*; /** * Instrumented test, which will execute on an Android device. * * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> */ @RunWith(AndroidJUnit4.class) public class ExampleInstrumentedTest { @Test public void useAppContext() { // Context of the app under test. Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); assertEquals("app.fedilab.android", appContext.getPackageName()); } } No newline at end of file Loading
.gitignore 0 → 100644 +10 −0 Original line number Diff line number Diff line *.iml .gradle /local.properties /.idea/* .DS_Store /build /captures .externalNativeBuild .cxx local.properties
app/.gitignore 0 → 100644 +2 −0 Original line number Diff line number Diff line /build No newline at end of file
app/build.gradle 0 → 100644 +123 −0 Original line number Diff line number Diff line plugins { id 'com.android.application' } def flavor android { compileSdk 31 defaultConfig { minSdk 21 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions "default" buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } productFlavors { fdroid { applicationId "fr.gouv.etalab.mastodon" buildConfigField "boolean", "DONATIONS", "true" buildConfigField "boolean", "push", "false" flavor = "fdroid" } playstore { applicationId "app.fedilab.android" buildConfigField "boolean", "DONATIONS", "false" buildConfigField "boolean", "push", "true" flavor = "playstore" } } lintOptions { checkReleaseBuilds false abortOnError false } buildFeatures { viewBinding true } sourceSets { playstore { manifest.srcFile "src/playstore/AndroidManifest.xml" java.srcDirs = ['src/main/java', 'src/playstore/java'] res.srcDirs = ['src/main/res', 'src/playstore/res'] } fdroid { java.srcDirs = ['src/main/java', 'src/fdroid/java'] res.srcDirs = ['src/main/res', 'src/fdroid/res'] } } configurations { all { exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' } } } allprojects { repositories { mavenLocal() maven { url "https://jitpack.io" } } } dependencies { implementation project(':autoimageslider') implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation "com.google.code.gson:gson:2.8.6" implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.preference:preference:1.2.0' implementation 'com.github.evozi:Cyanea:1.0.7' implementation 'com.vanniktech:emoji-one:0.6.0' implementation 'com.github.GrenderG:Toasty:1.5.2' implementation 'org.framagit.tom79:SparkButton:1.0.13' implementation "com.github.bumptech.glide:glide:4.12.0" implementation 'com.github.mergehez:ArgPlayer:v3.1' implementation ("com.github.bumptech.glide:recyclerview-integration:4.12.0") { // Excludes the support library because it's already included by Glide. transitive = false } implementation project(path: ':mytransl') implementation project(path: ':ratethisapp') annotationProcessor "com.github.bumptech.glide:compiler:4.12.0" implementation 'jp.wasabeef:glide-transformations:4.3.0' implementation 'com.github.penfeizhou.android.animation:apng:2.17.0' implementation 'com.github.penfeizhou.android.animation:gif:2.17.0' implementation 'com.google.android.exoplayer:exoplayer:2.16.1' implementation 'com.github.piasy:rxandroidaudio:1.7.0' implementation 'com.github.piasy:AudioProcessor:1.7.0' implementation "androidx.work:work-runtime:2.7.1" implementation 'app.futured.hauler:hauler:5.0.0' implementation "com.github.chrisbanes:PhotoView:2.3.0" implementation "ch.acra:acra-mail:5.5.0" implementation "ch.acra:acra-limiter:5.5.0" implementation "ch.acra:acra-notification:5.5.0" implementation "com.madgag.spongycastle:bctls-jdk15on:1.58.0.0" implementation 'com.github.UnifiedPush:android-connector:2.0.0' // implementation 'com.github.UnifiedPush:android-foss_embedded_fcm_distributor:1.0.0-beta1' playstoreImplementation 'com.github.UnifiedPush:android-embedded_fcm_distributor:1.1.0' implementation 'com.burhanrashid52:photoeditor:1.5.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' implementation 'androidx.lifecycle:lifecycle-livedata:2.4.1' implementation 'androidx.lifecycle:lifecycle-viewmodel:2.4.1' implementation 'androidx.navigation:navigation-fragment:2.4.1' implementation 'androidx.navigation:navigation-ui:2.4.1' testImplementation 'junit:junit:' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' } No newline at end of file
app/proguard-rules.pro 0 → 100644 +22 −0 Original line number Diff line number Diff line # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # 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 *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile No newline at end of file
app/src/androidTest/java/app/fedilab/android/ExampleInstrumentedTest.java 0 → 100644 +27 −0 Original line number Diff line number Diff line package app.fedilab.android; import android.content.Context; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.*; /** * Instrumented test, which will execute on an Android device. * * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> */ @RunWith(AndroidJUnit4.class) public class ExampleInstrumentedTest { @Test public void useAppContext() { // Context of the app under test. Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); assertEquals("app.fedilab.android", appContext.getPackageName()); } } No newline at end of file