Update firebase

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-08-21 13:17:58 +02:00
parent 865f888ca0
commit 2fd7b56a10
3 changed files with 17 additions and 60 deletions

View File

@ -44,12 +44,5 @@
</intent-filter>
</service>
<service
android:name=".services.firebase.MagicFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
</application>
</manifest>

View File

@ -1,53 +0,0 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* Copyright (C) 2017 Mario Danic <mario@lovelyhq.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.nextcloud.talk.services.firebase;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.jobs.PushRegistrationWorker;
import com.nextcloud.talk.utils.preferences.AppPreferences;
import javax.inject.Inject;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import autodagger.AutoInjector;
@AutoInjector(NextcloudTalkApplication.class)
public class MagicFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Inject
AppPreferences appPreferences;
public MagicFirebaseInstanceIDService() {
super();
NextcloudTalkApplication.getSharedApplication().getComponentApplication()
.inject(this);
}
@Override
public void onTokenRefresh() {
appPreferences.setPushToken(FirebaseInstanceId.getInstance().getToken());
OneTimeWorkRequest pushRegistrationWork = new OneTimeWorkRequest.Builder(PushRegistrationWorker.class).build();
WorkManager.getInstance().enqueue(pushRegistrationWork);
}
}

View File

@ -22,16 +22,33 @@ package com.nextcloud.talk.services.firebase;
import android.annotation.SuppressLint;
import autodagger.AutoInjector;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.jobs.NotificationWorker;
import com.nextcloud.talk.jobs.PushRegistrationWorker;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import com.nextcloud.talk.utils.preferences.AppPreferences;
import javax.inject.Inject;
@AutoInjector(NextcloudTalkApplication.class)
public class MagicFirebaseMessagingService extends FirebaseMessagingService {
@Inject
AppPreferences appPreferences;
@Override
public void onNewToken(String token) {
super.onNewToken(token);
appPreferences.setPushToken(token);
OneTimeWorkRequest pushRegistrationWork = new OneTimeWorkRequest.Builder(PushRegistrationWorker.class).build();
WorkManager.getInstance().enqueue(pushRegistrationWork);
}
@SuppressLint("LongLogTag")
@Override