mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
fix updating pushdevice id
This commit is contained in:
parent
6a529b31d0
commit
69f5254f9e
4 changed files with 18 additions and 9 deletions
|
|
@ -73,9 +73,7 @@ public class PushNotificationManager {
|
|||
Map<String, String> pushDeviceData = new HashMap<>();
|
||||
pushDeviceData.put("regId", this.refreshedToken);
|
||||
pushDeviceData.put("type", "android");
|
||||
apiClient.addPushDevice(pushDeviceData)
|
||||
|
||||
.subscribe(aVoid -> {}, RxErrorHandler.handleEmptyError());
|
||||
apiClient.addPushDevice(pushDeviceData).subscribe(aVoid -> {}, RxErrorHandler.handleEmptyError());
|
||||
}
|
||||
|
||||
public void removePushDeviceUsingStoredToken() {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import android.content.Context;
|
|||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.content.WakefulBroadcastReceiver;
|
||||
|
||||
import com.habitrpg.android.habitica.HabiticaApplication;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
|
|
@ -24,7 +25,7 @@ import javax.inject.Named;
|
|||
|
||||
|
||||
//https://gist.github.com/BrandonSmith/6679223
|
||||
public class NotificationPublisher extends BroadcastReceiver {
|
||||
public class NotificationPublisher extends WakefulBroadcastReceiver {
|
||||
|
||||
@Inject
|
||||
TaskRepository taskRepository;
|
||||
|
|
|
|||
|
|
@ -389,11 +389,7 @@ public class MainActivity extends BaseActivity implements TutorialView.OnTutoria
|
|||
displayDeathDialogIfNeeded();
|
||||
YesterdailyDialog.showDialogIfNeeded(this, user.getId(), userRepository, taskRepository);
|
||||
|
||||
if (!fromLocalDb) {
|
||||
displayNewInboxMessagesBadge();
|
||||
pushNotificationManager.setUser(user);
|
||||
pushNotificationManager.addPushDeviceUsingStoredToken();
|
||||
}
|
||||
displayNewInboxMessagesBadge();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -793,6 +789,10 @@ public class MainActivity extends BaseActivity implements TutorialView.OnTutoria
|
|||
protected void retrieveUser() {
|
||||
if (this.userRepository != null && hostConfig.hasAuthentication()) {
|
||||
this.userRepository.retrieveUser(true)
|
||||
.doOnNext(user1 -> {
|
||||
pushNotificationManager.setUser(user1);
|
||||
pushNotificationManager.addPushDeviceUsingStoredToken();
|
||||
})
|
||||
.flatMap(user1 -> inventoryRepository.retrieveContent(false))
|
||||
.subscribe(user1 -> {}, RxErrorHandler.handleEmptyError());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.google.gson.JsonElement;
|
|||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.habitrpg.android.habitica.models.PushDevice;
|
||||
import com.habitrpg.android.habitica.models.Tag;
|
||||
import com.habitrpg.android.habitica.models.inventory.Quest;
|
||||
import com.habitrpg.android.habitica.models.invitations.Invitations;
|
||||
|
|
@ -24,6 +25,7 @@ import com.habitrpg.android.habitica.models.user.Stats;
|
|||
import com.habitrpg.android.habitica.models.user.User;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -107,6 +109,14 @@ public class UserDeserializer implements JsonDeserializer<User> {
|
|||
}
|
||||
}
|
||||
|
||||
if (obj.has("pushDevices")) {
|
||||
user.setPushDevices(new ArrayList<>());
|
||||
for (JsonElement entry : obj.getAsJsonArray("pushDevices")) {
|
||||
PushDevice pushDevice = context.deserialize(entry, PushDevice.class);
|
||||
user.getPushDevices().add(pushDevice);
|
||||
}
|
||||
}
|
||||
|
||||
if (obj.has("lastCron")) {
|
||||
user.setLastCron(context.deserialize(obj.get("lastCron"), Date.class));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue