AntiFeatures:
  - NonFreeDep
Categories:
  - Security
License: GPL-3.0-only
WebSite: https://www.surespot.me/
SourceCode: https://github.com/zoff99/surespot-android
IssueTracker: https://github.com/zoff99/surespot-android/issues

Name: Surespot
AutoName: surespot
Description: |-
    Use surespot and everything you send can only be read by the person you sent it
    to. Period. Everything sent using surespot is end-to-end encrypted with
    symmetric-key encryption (256 bit AES-GCM) using keys created with 521 bit ECDH
    shared secret derivation, but you wont notice because security in surespot is
    built-in, not a layer over something else. Be confident sending private
    information and pictures, you have control over your messages, when you delete a
    sent message it will be removed from the receiver's phone and images are not
    shareable unless you make them so. Multiple identities allow you to be who you
    want with just who you want, and if anyone gets annoying you can block them.
    Surespot does not require or store your phone number or email address and we
    don't mine your data, no advertisements here!

    '''WARNING'''

    This build recipe is complex and error-prone. Use it only at your own risk.

RepoType: git
Repo: https://github.com/zoff99/surespot-android.git

Builds:
  - versionName: 61-fdroid
    versionCode: 61
    disable: builds, but includes jars
    commit: 4b9219e86c62208ebe1ca0cf48afa0cf15c34251
    subdir: surespot
    gradle:
      - yes
    forceversion: true
    prebuild:
      - rm 'src/main/res/raw/ffmpegpie'
      - rm 'src/main/res/raw/ffmpeg'
      - touch 'src/main/res/raw/ffmpegpie'
      - touch 'src/main/res/raw/ffmpeg'
      - sed -i -e 's#com.google.android.gms:play-services-drive:7.5.0#com.android.support:support-v4:22.2.0#'
        build.gradle
      - mkdir -p ../surespotcommon/src/main/res/raw
      - sed -i -e 's#Build.VERSION_CODES.M#23#' src/main/java/com/twofours/surespot/identity/IdentityController.java
      - printf 'ssl_strict=true\nbaseUrl=https://server.surespot.me:443\n' > ../surespotcommon/src/main/res/raw/configuration.properties
      - sed -i -e 's#import java.util.Properties;#import java.util.Properties;\nimport
        com.twofours.surespot.common.R;\n#g' ../surespotcommon/src/main/java/com/twofours/surespot/common/SurespotConfiguration.java
      - pushd src/main/java/com/twofours/surespot/backup/
      - sed -i -e '/import com.google.android.gms/d' -e 's#GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE#"dummy"#'
        -e '/AccountPicker.newChooseAccountIntent/d' ImportIdentityActivity.java ExportIdentityActivity.java
      - cat ImportIdentityActivity.java | grep -v '\snull);' > ImportIdentityActivity.java_
      - mv ImportIdentityActivity.java_ ImportIdentityActivity.java
      - sed -i -e 's#ActivityNotFoundException e#Exception e#' ExportIdentityActivity.java
        ImportIdentityActivity.java
      - sed -i -e 's#startActivityForResult(accountPickerIntent, SurespotConstants.IntentRequestCodes.CHOOSE_GOOGLE_ACCOUNT);#System.out.println("dummy");#'
        ExportIdentityActivity.java ImportIdentityActivity.java
      - popd
      - sed -i -e 's#android {#android {\nlintOptions {\nabortOnError false\n}\n#'
        build.gradle

  - versionName: 63-fdroid
    versionCode: 63
    disable: remove apk
    commit: aa83369736b7533cb8ab824ee36be032b40271bf
    subdir: surespot
    patch:
      - Ex-63.patch
      - Im-63.patch
    gradle:
      - yes
    srclibs:
      - gcm@7f647288103bac2c5552af881f0e217c5b95d78a
    rm:
      - .google_apis/._.DS_Store
      - ._.DS_Store
      - surespot/libs/*
      - surespot/src/main/res/raw/ffmpegpie
      - surespot/src/main/res/raw/ffmpeg
      - surespotcommon/libs/*.jar
    prebuild:
      - pwd
      - touch src/main/res/raw/ffmpegpie src/main/res/raw/ffmpeg
      - sed -i -e 's#com.google.android.gms:play-services-drive:7.8.0#com.android.support:support-v4:19.0.1#'
        build.gradle
      - mkdir -p ../surespotcommon/src/main/res/raw
      - sed -i -e 's#Build.VERSION_CODES.M#23#' src/main/java/com/twofours/surespot/identity/IdentityController.java
      - printf 'ssl_strict=true\nbaseUrl=https://server.surespot.me:443\n' > ../surespotcommon/src/main/res/raw/configuration.properties
      - sed -i -e 's#import java.util.Properties;#import java.util.Properties;\nimport
        com.twofours.surespot.common.R;\n#g' ../surespotcommon/src/main/java/com/twofours/surespot/common/SurespotConfiguration.java
      - sed -i -e 's#@integer/google_play_services_version#4030500#' src/main/AndroidManifest.xml
      - awk 'NR<=21||NR>=62' proguard-project.txt > proguard-project.txt_
      - mv proguard-project.txt_ proguard-project.txt
      - sed -i -e 's#import org.acra.ACRA;##' ../androidasynchttp/src/main/java/com/loopj/android/http/AsyncHttpRequest.java
        src/main/java/com/twofours/surespot/SurespotApplication.java
      - sed -i -e 's#import org.acra.ReportingInteractionMode;##' -e 's#import org.acra.annotation.ReportsCrashes;##'
        -e 's#ACRA.init(this);##' -e 's#@ReportsCrashes#// @ReportsCrashes#' -e 's#formUri
        = "ht#// formUri = "ht#' src/main/java/com/twofours/surespot/SurespotApplication.java
      - sed -i -e 's#compile files(.libs/gcm.jar.)##' -e 's#compile files(.*libs.*)##'
        -e 's#android {#android {\nlintOptions {\nabortOnError false\n}\n#' build.gradle
      - sed -i -e 's#javaMaxHeapSize .*##' build.gradle
      - rm src/main/java/com/twofours/surespot/backup/DriveHelper.java
      - cp -av $$gcm$$/gcm-client-deprecated/src/com src/main/java/
      - pushd ../
      - find .google_apis -name '*.jar' -exec rm {} \;
      - popd
      - sed -i -e '/support-v4/acompile "com.madgag:scprov-jdk15on:1.47.0.3"\ncompile
        "com.madgag:sc-light-jdk15on:1.47.0.3"' -e '/compile files/d' build.gradle
      - sed -i -e '/surespotcommon/acompile "com.madgag:scprov-jdk15on:1.47.0.3"\ncompile
        "com.madgag:sc-light-jdk15on:1.47.0.3"' -e '/compile files/d' ../androidkeystore/build.gradle
    novcheck: true

  - versionName: 64-mod
    versionCode: 64
    commit: b6889acbbf451dcb7421540511b62fc9375b6215
    subdir: surespot
    gradle:
      - yes
    prebuild:
      - git clone https://github.com/zoff99/gcm-client-old.git
      - mkdir -p src/main/java/com/
      - cp -av gcm-client-old/com src/main/java/
      - mkdir -p ../surespotcommon/src/main/res/raw
      - printf 'ssl_strict=true\nbaseUrl=https://server.surespot.me:443\n' > ../surespotcommon/src/main/res/raw/configuration.properties
      - pushd ../
      - find .google_apis -name '*.jar' -exec rm {} \;
    scanignore:
      - surespot/src/main/res/raw/ffmpeg

  - versionName: 65-mod
    versionCode: 65
    commit: fdfd9f08734705d60955694a877f575693f8a960
    subdir: surespot
    gradle:
      - yes
    prebuild:
      - git clone https://github.com/zoff99/gcm-client-old.git
      - mkdir -p src/main/java/com/
      - cp -av gcm-client-old/com src/main/java/
      - mkdir -p ../surespotcommon/src/main/res/raw
      - printf 'ssl_strict=true\nbaseUrl=https://server.surespot.me:443\n' > ../surespotcommon/src/main/res/raw/configuration.properties
      - pushd ../
      - find .google_apis -name '*.jar' -exec rm {} \;
    scanignore:
      - surespot/src/main/res/raw/ffmpeg

MaintainerNotes: |-
    * Voice function removed

    Why on earth do we need to git clone? This build is begging to break
    itself.

AutoUpdateMode: None
UpdateCheckMode: None
CurrentVersion: 65-mod
CurrentVersionCode: 65
