mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-11-04 08:43:52 +01:00 
			
		
		
		
	* Project Initiated by creating helper classes for database operations * Database created * Rest of the work and documentation * Requested changes done * Localisation updates from https://translatewiki.net. * Localisation updates from https://translatewiki.net. * Localisation updates from https://translatewiki.net. * [GSoC] Insert and Remove Images from not for upload (#4999) * Inserted and marked images as not for upload * Documentation added * Test delete * Implemented remove from not for upload * Test fixed * Requested changes done * Added tests for new lines in existing classes * [GSoC] Added Bubble Scroll (#5023) * Library added * Bubble scroll implemented * Left and right swipe * Requested changes * [GSoC] Hide/Unhide actioned pictures and change numbering (#5012) * Changed numbering of marked images * Hide Unhide implemented * Test fixed * Improved speed for database operation * Improved speed for database operation * Changed progress dialog * Improved hiding speed * Test fixed * Fixed bug * Fixed bug and improved performance * Fixed bug and improved performance * Test fixed * Bug fixed * Bug fixed * Bug fixed * Bug fixed * Bug fixed * Code clean up * Test hiding images * Test hiding images * Test hiding images * Code clean up and test fixed * Fixed layout * Fixed bug * Bug fixed * Renamed method * Documentation added explaining logic * Documentation added explaining logic * [GSoC] Full Screen Mode (#5032) * Gesture detection implemented * Left and right swipe * Selection implemented * onDown implemented * onDown implemented * FS mode implemented * OnSwipe doc * Scope cancel * Added label in Manifest * Merged two features * Requested changes * Image uploaded bug fixed * Increased DB version * Made requested changes * Made requested changes * Made requested changes * Made requested changes * Solved image flashing bug * Solved image flashing bug * Requested changes * Requested changes * Changed name of a function * Fixed transaction failure on large number of images * Tested with isIdentity * Tested with isIdentity * Increased the threshold * Added info dialog * Minor changes * ImageAdapter Test * CustomSelectorActivity Test * Requested changes * Test for ZoomableActivity * Test for ZoomableActivity * Test for ImageLoader * Test for OnSwipeTouchListener * Test for rest * Reverted some test changes * Added more tests for ImageAdapter * Added more tests for ImageAdapter and swipe gesture Co-authored-by: translatewiki.net <l10n-bot@translatewiki.net>
		
			
				
	
	
		
			376 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			376 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
plugins {
 | 
						|
    id 'com.github.triplet.play' version '2.7.2' apply false
 | 
						|
}
 | 
						|
apply from: '../gitutils.gradle'
 | 
						|
apply plugin: 'com.android.application'
 | 
						|
apply plugin: 'kotlin-android'
 | 
						|
apply plugin: 'kotlin-kapt'
 | 
						|
apply plugin: 'kotlin-android-extensions'
 | 
						|
apply from: "$rootDir/jacoco.gradle"
 | 
						|
 | 
						|
def isRunningOnTravisAndIsNotPRBuild = System.getenv("CI") == "true" && file('../play.p12').exists()
 | 
						|
 | 
						|
if (isRunningOnTravisAndIsNotPRBuild) {
 | 
						|
    apply plugin: 'com.github.triplet.play'
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
 | 
						|
    implementation project(':wikimedia-data-client')
 | 
						|
    // Utils
 | 
						|
    implementation 'in.yuvi:http.fluent:1.3'
 | 
						|
    implementation 'com.google.code.gson:gson:2.8.5'
 | 
						|
    implementation ("com.squareup.okhttp3:okhttp:$OKHTTP_VERSION"){
 | 
						|
        force = true //API 19 support
 | 
						|
    }
 | 
						|
    implementation 'com.squareup.okio:okio:2.2.2'
 | 
						|
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
 | 
						|
    implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
 | 
						|
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
 | 
						|
    implementation 'com.jakewharton.rxbinding3:rxbinding-appcompat:3.0.0'
 | 
						|
    implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.1.1'
 | 
						|
    implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
 | 
						|
    implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
 | 
						|
    implementation 'com.facebook.fresco:fresco:1.13.0'
 | 
						|
    implementation 'org.apache.commons:commons-lang3:3.8.1'
 | 
						|
 | 
						|
    // UI
 | 
						|
    implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
 | 
						|
    implementation 'com.github.chrisbanes:PhotoView:2.0.0'
 | 
						|
    implementation 'com.github.pedrovgs:renderers:3.3.3'
 | 
						|
    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
 | 
						|
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
 | 
						|
    implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-scalebar-v9:0.5.0'
 | 
						|
    implementation 'com.mapbox.mapboxsdk:mapbox-android-telemetry:7.0.0'
 | 
						|
    implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
 | 
						|
    implementation 'com.dinuscxj:circleprogressbar:1.1.1'
 | 
						|
    implementation 'com.karumi:dexter:5.0.0'
 | 
						|
    implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
 | 
						|
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
 | 
						|
 | 
						|
    kapt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"
 | 
						|
    implementation "com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:$ADAPTER_DELEGATES_VERSION"
 | 
						|
    implementation "com.hannesdorfmann:adapterdelegates4-pagination:$ADAPTER_DELEGATES_VERSION"
 | 
						|
    implementation "androidx.paging:paging-runtime-ktx:$PAGING_VERSION"
 | 
						|
    testImplementation "androidx.paging:paging-common-ktx:$PAGING_VERSION"
 | 
						|
    implementation "androidx.paging:paging-rxjava2-ktx:$PAGING_VERSION"
 | 
						|
    implementation "androidx.recyclerview:recyclerview:1.2.0-alpha02"
 | 
						|
    implementation "com.squareup.okhttp3:okhttp-ws:$OKHTTP_VERSION"
 | 
						|
 | 
						|
    // Logging
 | 
						|
    implementation 'ch.acra:acra-dialog:5.8.4'
 | 
						|
    implementation 'ch.acra:acra-mail:5.8.4'
 | 
						|
    implementation 'org.slf4j:slf4j-api:1.7.25'
 | 
						|
    api('com.github.tony19:logback-android-classic:1.1.1-6') {
 | 
						|
        exclude group: 'com.google.android', module: 'android'
 | 
						|
    }
 | 
						|
    implementation "com.squareup.okhttp3:logging-interceptor:$OKHTTP_VERSION"
 | 
						|
 | 
						|
    // Dependency injector
 | 
						|
    implementation "com.google.dagger:dagger-android:$DAGGER_VERSION"
 | 
						|
    implementation "com.google.dagger:dagger-android-support:$DAGGER_VERSION"
 | 
						|
    kapt "com.google.dagger:dagger-android-processor:$DAGGER_VERSION"
 | 
						|
    kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
 | 
						|
    annotationProcessor "com.google.dagger:dagger-android-processor:$DAGGER_VERSION"
 | 
						|
 | 
						|
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
 | 
						|
    implementation "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION"
 | 
						|
 | 
						|
    //Mocking
 | 
						|
    testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0'
 | 
						|
    testImplementation 'org.mockito:mockito-inline:2.13.0'
 | 
						|
    testImplementation 'org.mockito:mockito-core:2.25.1'
 | 
						|
    testImplementation "org.powermock:powermock-module-junit4:2.0.2"
 | 
						|
    testImplementation "org.powermock:powermock-api-mockito2:2.0.2"
 | 
						|
 | 
						|
    // Unit testing
 | 
						|
    testImplementation 'junit:junit:4.13.2'
 | 
						|
    testImplementation 'org.robolectric:robolectric:4.6-alpha-1'
 | 
						|
    testImplementation 'androidx.test:core:1.4.0'
 | 
						|
    testImplementation "com.squareup.okhttp3:mockwebserver:$OKHTTP_VERSION"
 | 
						|
    testImplementation "com.jraska.livedata:testing-ktx:1.1.2"
 | 
						|
    testImplementation "androidx.arch.core:core-testing:2.1.0"
 | 
						|
    testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.0"
 | 
						|
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.0"
 | 
						|
    testImplementation 'com.facebook.soloader:soloader:0.10.1'
 | 
						|
    testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0"
 | 
						|
 | 
						|
    // Android testing
 | 
						|
    androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
 | 
						|
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0-alpha04'
 | 
						|
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.4.0'
 | 
						|
    androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.5.0-alpha04'
 | 
						|
    androidTestImplementation 'androidx.test:runner:1.4.0'
 | 
						|
    androidTestImplementation 'androidx.test:rules:1.4.1-alpha04'
 | 
						|
    androidTestImplementation 'androidx.test:core:1.4.0'
 | 
						|
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
 | 
						|
    androidTestImplementation 'androidx.annotation:annotation:1.3.0'
 | 
						|
    androidTestImplementation 'com.squareup.okhttp3:mockwebserver:4.8.0'
 | 
						|
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.2.0"
 | 
						|
    androidTestUtil 'androidx.test:orchestrator:1.4.1'
 | 
						|
 | 
						|
    // Debugging
 | 
						|
    debugImplementation "com.squareup.leakcanary:leakcanary-android:$LEAK_CANARY_VERSION"
 | 
						|
    releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY_VERSION"
 | 
						|
    testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY_VERSION"
 | 
						|
 | 
						|
    // Support libraries
 | 
						|
    implementation "com.google.android.material:material:1.1.0-alpha04"
 | 
						|
    implementation "androidx.browser:browser:1.3.0"
 | 
						|
    implementation "androidx.cardview:cardview:1.0.0"
 | 
						|
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
 | 
						|
    implementation "androidx.exifinterface:exifinterface:1.3.2"
 | 
						|
    implementation "androidx.core:core-ktx:$CORE_KTX_VERSION"
 | 
						|
    implementation "androidx.multidex:multidex:2.0.1"
 | 
						|
    compile 'com.simplecityapps:recyclerview-fastscroll:2.0.1'
 | 
						|
 | 
						|
    //swipe_layout
 | 
						|
    implementation 'com.daimajia.swipelayout:library:1.2.0@aar'
 | 
						|
 | 
						|
    //Room
 | 
						|
    implementation "androidx.room:room-runtime:$ROOM_VERSION"
 | 
						|
    implementation "androidx.room:room-ktx:$ROOM_VERSION"
 | 
						|
    implementation "androidx.room:room-rxjava2:$ROOM_VERSION"
 | 
						|
    kapt "androidx.room:room-compiler:$ROOM_VERSION"
 | 
						|
    // For Kotlin use kapt instead of annotationProcessor
 | 
						|
    implementation 'com.squareup.retrofit2:retrofit:2.8.1'
 | 
						|
    testImplementation "androidx.arch.core:core-testing:2.1.0"
 | 
						|
 | 
						|
    // Pref
 | 
						|
    // Java language implementation
 | 
						|
    implementation "androidx.preference:preference:$PREFERENCE_VERSION"
 | 
						|
    // Kotlin
 | 
						|
    implementation "androidx.preference:preference-ktx:$PREFERENCE_VERSION"
 | 
						|
 | 
						|
    implementation "androidx.multidex:multidex:$MULTIDEX_VERSION"
 | 
						|
 | 
						|
    def work_version = "2.6.0"
 | 
						|
    // Kotlin + coroutines
 | 
						|
    implementation "androidx.work:work-runtime-ktx:$work_version"
 | 
						|
    testImplementation "androidx.work:work-testing:$work_version"
 | 
						|
 | 
						|
    //Glide
 | 
						|
    implementation 'com.github.bumptech.glide:glide:4.12.0'
 | 
						|
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
 | 
						|
 | 
						|
    implementation("io.github.coordinates2country:coordinates2country-android:1.3") {  exclude group: 'com.google.android', module: 'android' }
 | 
						|
}
 | 
						|
 | 
						|
task disableAnimations(type: Exec) {
 | 
						|
    def adb = "$System.env.ANDROID_HOME/platform-tools/adb"
 | 
						|
    commandLine "$adb", 'shell', 'settings', 'put', 'global', 'window_animation_scale', '0'
 | 
						|
    commandLine "$adb", 'shell', 'settings', 'put', 'global', 'transition_animation_scale', '0'
 | 
						|
    commandLine "$adb", 'shell', 'settings', 'put', 'global', 'animator_duration_scale', '0'
 | 
						|
}
 | 
						|
 | 
						|
project.gradle.taskGraph.whenReady {
 | 
						|
    connectedBetaDebugAndroidTest.dependsOn disableAnimations
 | 
						|
    connectedProdDebugAndroidTest.dependsOn disableAnimations
 | 
						|
}
 | 
						|
 | 
						|
android {
 | 
						|
    compileSdkVersion 30
 | 
						|
 | 
						|
    defaultConfig {
 | 
						|
        //applicationId 'fr.free.nrw.commons'
 | 
						|
 | 
						|
        versionCode 1029
 | 
						|
        versionName '4.0.3'
 | 
						|
        setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
 | 
						|
 | 
						|
        minSdkVersion 19
 | 
						|
        targetSdkVersion 30
 | 
						|
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 | 
						|
        testInstrumentationRunnerArguments clearPackageData: 'true'
 | 
						|
 | 
						|
        multiDexEnabled true
 | 
						|
 | 
						|
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 | 
						|
 | 
						|
        vectorDrawables.useSupportLibrary = true
 | 
						|
    }
 | 
						|
 | 
						|
    packagingOptions {
 | 
						|
        exclude 'META-INF/androidx.*'
 | 
						|
        exclude 'META-INF/proguard/androidx-annotations.pro'
 | 
						|
    }
 | 
						|
 | 
						|
    testOptions {
 | 
						|
        animationsDisabled true
 | 
						|
 | 
						|
        unitTests.returnDefaultValues = true
 | 
						|
        unitTests.includeAndroidResources = true
 | 
						|
 | 
						|
        unitTests.all {
 | 
						|
            jvmArgs '-noverify'
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    sourceSets {
 | 
						|
        // use kotlin only in tests (for now)
 | 
						|
        test.java.srcDirs += 'src/test/kotlin'
 | 
						|
 | 
						|
        // use main assets and resources in test
 | 
						|
        test.assets.srcDirs += 'src/main/assets'
 | 
						|
        test.resources.srcDirs += 'src/main/resoures'
 | 
						|
    }
 | 
						|
 | 
						|
    signingConfigs {
 | 
						|
        release
 | 
						|
    }
 | 
						|
 | 
						|
    buildTypes {
 | 
						|
        release {
 | 
						|
            minifyEnabled true
 | 
						|
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
 | 
						|
            testProguardFile 'test-proguard-rules.txt'
 | 
						|
            if (isRunningOnTravisAndIsNotPRBuild) {
 | 
						|
                signingConfig signingConfigs.release
 | 
						|
            }
 | 
						|
        }
 | 
						|
        debug {
 | 
						|
            minifyEnabled false
 | 
						|
            testCoverageEnabled true
 | 
						|
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
 | 
						|
            testProguardFile 'test-proguard-rules.txt'
 | 
						|
            versionNameSuffix "-debug-" + getBranchName()
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    if (isRunningOnTravisAndIsNotPRBuild) {
 | 
						|
        // configure keystore based on env vars in Travis for automated alpha builds
 | 
						|
        signingConfigs.release.storeFile = file("../nr-commons.keystore")
 | 
						|
        signingConfigs.release.storePassword = System.getenv("keystore_password")
 | 
						|
        signingConfigs.release.keyAlias = System.getenv("key_alias")
 | 
						|
        signingConfigs.release.keyPassword = System.getenv("key_password")
 | 
						|
    }
 | 
						|
 | 
						|
    configurations.all {
 | 
						|
        resolutionStrategy.force 'androidx.annotation:annotation:1.1.0'
 | 
						|
        exclude module: 'okhttp-ws'
 | 
						|
    }
 | 
						|
    flavorDimensions 'tier'
 | 
						|
    productFlavors {
 | 
						|
        prod {
 | 
						|
 | 
						|
            applicationId 'fr.free.nrw.commons'
 | 
						|
 | 
						|
            buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.org/w/api.php\""
 | 
						|
            buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
 | 
						|
            buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_CAMPAIGNS_URL", "\"https://raw.githubusercontent.com/commons-app/campaigns/master/campaigns.json\""
 | 
						|
            buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.wikimedia.org/wikipedia/commons\""
 | 
						|
            buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.org/wiki/\""
 | 
						|
            buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.org\""
 | 
						|
            buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
 | 
						|
            buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.org/wiki/\""
 | 
						|
            buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
 | 
						|
            buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Main_Page&welcome=yes\""
 | 
						|
            buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.org/wiki/Special:PasswordReset\""
 | 
						|
            buildConfigField "String", "PRIVACY_POLICY_URL", "\"https://github.com/commons-app/commons-app-documentation/blob/master/android/Privacy-policy.md\""
 | 
						|
            buildConfigField "String", "ACCOUNT_TYPE", "\"fr.free.nrw.commons\""
 | 
						|
            buildConfigField "String", "CONTRIBUTION_AUTHORITY", "\"fr.free.nrw.commons.contributions.contentprovider\""
 | 
						|
            buildConfigField "String", "MODIFICATION_AUTHORITY", "\"fr.free.nrw.commons.modifications.contentprovider\""
 | 
						|
            buildConfigField "String", "CATEGORY_AUTHORITY", "\"fr.free.nrw.commons.categories.contentprovider\""
 | 
						|
            buildConfigField "String", "RECENT_SEARCH_AUTHORITY", "\"fr.free.nrw.commons.explore.recentsearches.contentprovider\""
 | 
						|
            buildConfigField "String", "RECENT_LANGUAGE_AUTHORITY", "\"fr.free.nrw.commons.recentlanguages.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_AUTHORITY", "\"fr.free.nrw.commons.bookmarks.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_LOCATIONS_AUTHORITY", "\"fr.free.nrw.commons.bookmarks.locations.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_ITEMS_AUTHORITY", "\"fr.free.nrw.commons.bookmarks.items.contentprovider\""
 | 
						|
            buildConfigField "String", "COMMIT_SHA", "\"" + getBuildVersion().toString() + "\""
 | 
						|
            buildConfigField "String", "TEST_USERNAME", "\"" + getTestUserName() + "\""
 | 
						|
            buildConfigField "String", "TEST_PASSWORD", "\"" + getTestPassword() + "\""
 | 
						|
            buildConfigField "String", "DEPICTS_PROPERTY", "\"P180\""
 | 
						|
 | 
						|
            dimension 'tier'
 | 
						|
        }
 | 
						|
 | 
						|
        beta {
 | 
						|
            applicationId 'fr.free.nrw.commons.beta'
 | 
						|
 | 
						|
            // What values do we need to hit the BETA versions of the site / api ?
 | 
						|
            buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.beta.wmflabs.org/w/api.php\""
 | 
						|
            buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
 | 
						|
            buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
 | 
						|
            buildConfigField "String", "WIKIMEDIA_CAMPAIGNS_URL", "\"https://raw.githubusercontent.com/commons-app/campaigns/master/campaigns_beta_active.json\""
 | 
						|
            buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.beta.wmflabs.org/wikipedia/commons\""
 | 
						|
            buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/\""
 | 
						|
            buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.beta.wmflabs.org\""
 | 
						|
            buildConfigField "String", "WIKIDATA_URL", "\"https://www.wikidata.org\""
 | 
						|
            buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/wiki/\""
 | 
						|
            buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
 | 
						|
            buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Main_Page&welcome=yes\""
 | 
						|
            buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/Special:PasswordReset\""
 | 
						|
            buildConfigField "String", "PRIVACY_POLICY_URL", "\"https://github.com/commons-app/commons-app-documentation/blob/master/android/Privacy-policy.md\""
 | 
						|
            buildConfigField "String", "ACCOUNT_TYPE", "\"fr.free.nrw.commons.beta\""
 | 
						|
            buildConfigField "String", "CONTRIBUTION_AUTHORITY", "\"fr.free.nrw.commons.beta.contributions.contentprovider\""
 | 
						|
            buildConfigField "String", "MODIFICATION_AUTHORITY", "\"fr.free.nrw.commons.beta.modifications.contentprovider\""
 | 
						|
            buildConfigField "String", "CATEGORY_AUTHORITY", "\"fr.free.nrw.commons.beta.categories.contentprovider\""
 | 
						|
            buildConfigField "String", "RECENT_SEARCH_AUTHORITY", "\"fr.free.nrw.commons.beta.explore.recentsearches.contentprovider\""
 | 
						|
            buildConfigField "String", "RECENT_LANGUAGE_AUTHORITY", "\"fr.free.nrw.commons.beta.recentlanguages.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_AUTHORITY", "\"fr.free.nrw.commons.beta.bookmarks.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_LOCATIONS_AUTHORITY", "\"fr.free.nrw.commons.beta.bookmarks.locations.contentprovider\""
 | 
						|
            buildConfigField "String", "BOOKMARK_ITEMS_AUTHORITY", "\"fr.free.nrw.commons.beta.bookmarks.items.contentprovider\""
 | 
						|
            buildConfigField "String", "COMMIT_SHA", "\"" + getBuildVersion().toString() + "\""
 | 
						|
            buildConfigField "String", "TEST_USERNAME", "\"" + getTestUserName() + "\""
 | 
						|
            buildConfigField "String", "TEST_PASSWORD", "\"" + getTestPassword() + "\""
 | 
						|
            buildConfigField "String", "DEPICTS_PROPERTY", "\"P245962\""
 | 
						|
 | 
						|
            dimension 'tier'
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    lintOptions {
 | 
						|
        disable 'MissingTranslation'
 | 
						|
        disable 'ExtraTranslation'
 | 
						|
        abortOnError false
 | 
						|
    }
 | 
						|
 | 
						|
    compileOptions {
 | 
						|
        sourceCompatibility JavaVersion.VERSION_1_8
 | 
						|
        targetCompatibility JavaVersion.VERSION_1_8
 | 
						|
    }
 | 
						|
 | 
						|
    buildToolsVersion buildToolsVersion
 | 
						|
 | 
						|
    buildFeatures {
 | 
						|
        viewBinding true
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
String getTestUserName() {
 | 
						|
    def propFile = rootProject.file("./local.properties")
 | 
						|
    def properties = new Properties()
 | 
						|
    properties.load(new FileInputStream(propFile))
 | 
						|
    return properties['TEST_USER_NAME']
 | 
						|
}
 | 
						|
 | 
						|
String getTestPassword() {
 | 
						|
    def propFile = rootProject.file("./local.properties")
 | 
						|
    def properties = new Properties()
 | 
						|
    properties.load(new FileInputStream(propFile))
 | 
						|
    return properties['TEST_USER_PASSWORD']
 | 
						|
}
 | 
						|
 | 
						|
if (isRunningOnTravisAndIsNotPRBuild) {
 | 
						|
    play {
 | 
						|
        track = "alpha"
 | 
						|
        userFraction = 1
 | 
						|
        serviceAccountEmail = System.getenv("SERVICE_ACCOUNT_NAME")
 | 
						|
        serviceAccountCredentials = file("../play.p12")
 | 
						|
 | 
						|
        resolutionStrategy = "auto"
 | 
						|
        outputProcessor { // this: ApkVariantOutput
 | 
						|
            versionNameOverride = "$versionNameOverride.$versionCode"
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
androidExtensions {
 | 
						|
    experimental = true
 | 
						|
}
 |