diff --git a/metadata/com.wabadaba.dziennik.txt b/metadata/com.wabadaba.dziennik.txt index ec68b34d86..dfe5db98ff 100644 --- a/metadata/com.wabadaba.dziennik.txt +++ b/metadata/com.wabadaba.dziennik.txt @@ -22,6 +22,14 @@ Build:0.2.1-fdroid,3 output=build/outputs/apk/full/release/app-full-release-unsigned.apk prebuild=sed -i -e 's/0.2.1/0.2.1-fdroid/' build.gradle +Build:0.3-fdroid,4 + commit=0.3 + subdir=app + patch=0002-Remove-GCM.patch + gradle=full + output=build/outputs/apk/full/release/app-full-release-unsigned.apk + prebuild=sed -i -e 's/0.3/0.3-fdroid/' build.gradle + Auto Update Mode:None Update Check Mode:Tags Current Version:0.3 diff --git a/metadata/com.wabadaba.dziennik/0002-Remove-GCM.patch b/metadata/com.wabadaba.dziennik/0002-Remove-GCM.patch new file mode 100644 index 0000000000..14076b4734 --- /dev/null +++ b/metadata/com.wabadaba.dziennik/0002-Remove-GCM.patch @@ -0,0 +1,231 @@ +From fd7fdfb7cbf50eee734a6d98a35e76c44f692315 Mon Sep 17 00:00:00 2001 +From: mimi89999 +Date: Wed, 13 Sep 2017 09:41:16 +0200 +Subject: [PATCH] Remove GCM + +--- + app/build.gradle | 2 - + .../notification/LibrusGCMRegistrationManager.kt | 63 ---------------------- + .../api/notification/LibrusGcmListenerService.kt | 50 ----------------- + .../java/com/wabadaba/dziennik/ui/MainActivity.kt | 26 +-------- + build.gradle | 1 - + 5 files changed, 1 insertion(+), 141 deletions(-) + delete mode 100644 app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGCMRegistrationManager.kt + delete mode 100644 app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGcmListenerService.kt + +diff --git a/app/build.gradle b/app/build.gradle +index c96f432..0fda314 100644 +--- a/app/build.gradle ++++ b/app/build.gradle +@@ -1,4 +1,3 @@ +-apply plugin: 'com.google.gms.google-services' + apply plugin: 'com.android.application' + apply plugin: 'kotlin-android' + apply plugin: 'kotlin-android-extensions' +@@ -65,7 +64,6 @@ dependencies { + implementation 'com.android.support:support-v13:26.0.2' + implementation 'com.android.support:support-v4:26.0.2' + +- implementation "com.google.android.gms:play-services-gcm:11.2.0" + + implementation 'com.android.support:preference-v14:26.0.2' + implementation 'com.android.support:design:26.0.2' +diff --git a/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGCMRegistrationManager.kt b/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGCMRegistrationManager.kt +deleted file mode 100644 +index 67f5afc..0000000 +--- a/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGCMRegistrationManager.kt ++++ /dev/null +@@ -1,63 +0,0 @@ +-package com.wabadaba.dziennik.api.notification +- +-import android.content.Context +-import android.preference.PreferenceManager +-import com.bugsnag.android.Bugsnag +-import com.google.android.gms.gcm.GoogleCloudMessaging +-import com.google.android.gms.iid.InstanceID +-import com.wabadaba.dziennik.BuildConfig +-import com.wabadaba.dziennik.api.APIClient +-import com.wabadaba.dziennik.api.FullUser +-import com.wabadaba.dziennik.api.RxHttpClient +-import io.reactivex.Single +-import io.reactivex.schedulers.Schedulers +- +-class LibrusGCMRegistrationManager(private val currentUser: FullUser, +- rxHttpClient: RxHttpClient, +- val context: Context) { +- +- private val senderId = BuildConfig.SENDER_ID +- +- private val pref_key = "gcm_registered_users" +- private val apiClient = APIClient(currentUser.authInfo, rxHttpClient) +- +- fun register() { +- if (!isRegistered()) { +- getRegistrationToken() +- .flatMap { regToken -> apiClient.pushDevices(regToken) } +- .doOnSuccess { this.setRegistered() } +- .subscribeOn(Schedulers.io()) +- .subscribe( +- { +- println("GCM registration successful") +- }, +- { e -> +- println("GCM registration failed") +- Bugsnag.notify(e) +- }) +- } else { +- println("User $currentUser already registered for GCM") +- } +- } +- +- +- private fun isRegistered(): Boolean { +- val prefs = PreferenceManager.getDefaultSharedPreferences(context) +- return prefs.getStringSet(pref_key, emptySet()) +- .contains(currentUser.login) +- } +- +- private fun setRegistered() { +- val prefs = PreferenceManager.getDefaultSharedPreferences(context) +- val registered = prefs.getStringSet(pref_key, emptySet()) +- prefs.edit().putStringSet(pref_key, registered.plus(currentUser.login)) +- .apply() +- } +- +- private fun getRegistrationToken() = Single.fromCallable { +- val instanceID = InstanceID.getInstance(context) +- instanceID.getToken(senderId, +- GoogleCloudMessaging.INSTANCE_ID_SCOPE, null) +- } +-} +- +diff --git a/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGcmListenerService.kt b/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGcmListenerService.kt +deleted file mode 100644 +index 6f02f0b..0000000 +--- a/app/src/main/java/com/wabadaba/dziennik/api/notification/LibrusGcmListenerService.kt ++++ /dev/null +@@ -1,50 +0,0 @@ +-package com.wabadaba.dziennik.api.notification +- +-import android.app.NotificationManager +-import android.app.PendingIntent +-import android.content.Context +-import android.content.Intent +-import android.os.Bundle +-import android.preference.PreferenceManager +-import android.support.v4.app.NotificationCompat +-import com.google.android.gms.gcm.GcmListenerService +-import com.wabadaba.dziennik.R +-import com.wabadaba.dziennik.ui.MainActivity +- +- +-@Suppress("DEPRECATION") +-class LibrusGcmListenerService : GcmListenerService() { +- override fun onMessageReceived(p0: String, data: Bundle) { +- +- val prefs = PreferenceManager.getDefaultSharedPreferences(this) +- if (!prefs.getBoolean("enable_notifications", true)) { +- println("received message but notifications are disabled") +- return +- } +- +- println("received message, sending notification...") +- +- val message = data.getString("message") +- val user = data.getString("userId") +- +- val intent = Intent(this, MainActivity::class.java) +- val pendingIntent = PendingIntent.getActivity( +- this, +- 0, +- intent, +- PendingIntent.FLAG_UPDATE_CURRENT +- ) +- +- val notification = NotificationCompat.Builder(this) +- .setSmallIcon(R.drawable.ic_school_black_24dp) +- .setContentTitle(message) +- .setContentText(user) +- .setContentIntent(pendingIntent) +- .setAutoCancel(true) +- .setPriority(NotificationCompat.PRIORITY_HIGH) +- .build() +- +- val notifyManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager +- notifyManager.notify(System.currentTimeMillis().toInt(), notification) +- } +-} +\ No newline at end of file +diff --git a/app/src/main/java/com/wabadaba/dziennik/ui/MainActivity.kt b/app/src/main/java/com/wabadaba/dziennik/ui/MainActivity.kt +index 42e3c80..19cc291 100644 +--- a/app/src/main/java/com/wabadaba/dziennik/ui/MainActivity.kt ++++ b/app/src/main/java/com/wabadaba/dziennik/ui/MainActivity.kt +@@ -19,8 +19,6 @@ import co.zsmb.materialdrawerkt.draweritems.profile.profileSetting + import com.amulyakhare.textdrawable.TextDrawable + import com.amulyakhare.textdrawable.util.ColorGenerator + import com.bugsnag.android.Bugsnag +-import com.google.android.gms.common.ConnectionResult +-import com.google.android.gms.common.GoogleApiAvailability + import com.mikepenz.materialdrawer.Drawer + import com.mikepenz.materialdrawer.model.DividerDrawerItem + import com.mikepenz.materialdrawer.model.PrimaryDrawerItem +@@ -28,7 +26,6 @@ import com.mikepenz.materialdrawer.model.ProfileDrawerItem + import com.wabadaba.dziennik.MainApplication + import com.wabadaba.dziennik.R + import com.wabadaba.dziennik.api.* +-import com.wabadaba.dziennik.api.notification.LibrusGCMRegistrationManager + import com.wabadaba.dziennik.di.ViewModelFactory + import com.wabadaba.dziennik.ui.login.LoginActivity + import com.wabadaba.dziennik.vo.LuckyNumber +@@ -113,7 +110,7 @@ class MainActivity : AppCompatActivity(), LifecycleRegistryOwner { + + viewModel = ViewModelProviders.of(this, viewModelFactory).get(MainViewModel::class.java) + +- if (checkGooglePlayServicesAvailable()) { ++ if (true) { + userRepository.allUsers.observeOn(AndroidSchedulers.mainThread()) + .subscribe { users -> + if (users.isEmpty()) { +@@ -129,27 +126,6 @@ class MainActivity : AppCompatActivity(), LifecycleRegistryOwner { + } + } + } +- registerGCM() +- } +- +- private fun registerGCM() { +- userRepository.currentUser.subscribe { +- println("Registering user $it for GCM") +- LibrusGCMRegistrationManager(it, rxHttpClient, this) +- .register() +- } +- } +- +- private fun checkGooglePlayServicesAvailable(): Boolean { +- val googleApiAvailability = GoogleApiAvailability.getInstance() +- val status = googleApiAvailability.isGooglePlayServicesAvailable(this) +- if (status != ConnectionResult.SUCCESS) { +- if (googleApiAvailability.isUserResolvableError(status)) { +- googleApiAvailability.getErrorDialog(this, status, 2404).show() +- } +- return false +- } +- return true + } + + @Suppress("DEPRECATION") +diff --git a/build.gradle b/build.gradle +index 4148edd..ba94c66 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -9,7 +9,6 @@ buildscript { + dependencies { + classpath 'com.android.tools.build:gradle:3.0.0-beta5' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" +- classpath 'com.google.gms:google-services:3.1.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files +-- +2.11.0 +