package org.lntu.online.model.storage;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import org.lntu.online.util.Digest;
import java.util.UUID;
public final class DeviceInfo {
private DeviceInfo() {}
private static final String TAG = "DeviceInfo";
private static final String KEY_DEVICE_TOKEN = "deviceToken";
private volatile static String deviceToken = null;
private static SharedPreferences getSharedPreferences(@NonNull Context context) {
return context.getSharedPreferences(Digest.MD5.getHex(TAG), Context.MODE_PRIVATE);
}
@NonNull
public static String getDeviceToken(@NonNull Context context) {
if (TextUtils.isEmpty(deviceToken)) {
synchronized (DeviceInfo.class) {
if (TextUtils.isEmpty(deviceToken)) {
deviceToken = getSharedPreferences(context).getString(KEY_DEVICE_TOKEN, null);
}
if (TextUtils.isEmpty(deviceToken)) {
deviceToken = UUID.randomUUID().toString();
getSharedPreferences(context).edit().putString(KEY_DEVICE_TOKEN, deviceToken).apply();
}
}
}
return deviceToken;
}
}