导航菜单

页面标题

页面副标题

WeatherSense v1.8.9 - MipushTestActivity.java 源代码

正在查看: WeatherSense v1.8.9 应用的 MipushTestActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.emax.weather.ui.activity;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import com.emax.weahter.R;
import com.emax.weather.bean.AlarmEventType;
import com.emax.weather.bean.User;
import com.emax.weather.bean.db.DaoHadle;
import com.emax.weather.util.AndroidScheduler;
import com.emax.weather.utils.RxUtil;
import com.ezon.health.utils_lib.SharedPre;
import com.ezon.health.utils_lib.SharedPreUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.umeng.message.UmengNotifyClickActivity;
import com.umeng.message.entity.UMessage;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.json.JSONException;
import org.json.JSONObject;

public class MipushTestActivity extends UmengNotifyClickActivity {
    private static String TAG = "com.emax.weather.ui.activity.MipushTestActivity";
    private Disposable disposable;
    private boolean isGetUser = false;
    private String token;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        RxUtil.addWork(new RxUtil.RxActionListener<User>() {
            @Override
            public User doAction() {
                return DaoHadle.getUser();
            }

            @Override
            public void reponseAction(User user) {
                System.out.println("用户数据获取成功   reponseAction");
                MipushTestActivity.this.isGetUser = true;
                MipushTestActivity.this.token = DaoHadle.getUser().getToken();
            }

            @Override
            public void reponseDataNull() {
                System.out.println("用户数据获取成功  reponseDataNull");
                MipushTestActivity.this.isGetUser = true;
            }

            @Override
            public void reponseError(Throwable e) {
                System.out.println("用户数据获取成功 reponseError " + e.getMessage());
                MipushTestActivity.this.isGetUser = true;
            }
        });
        this.disposable = Observable.interval(1500L, TimeUnit.MILLISECONDS).observeOn(AndroidScheduler.mainThread()).subscribe(new Consumer() {
            public final void accept(Object obj) {
                MipushTestActivity.this.lambda$onCreate$0$MipushTestActivity((Long) obj);
            }
        }, new Consumer() {
            public final void accept(Object obj) {
                System.out.print("throwable.getMessage() = " + ((Throwable) obj).getMessage());
            }
        });
    }

    public void lambda$onCreate$0$MipushTestActivity(Long l) throws Exception {
        System.out.println("等待获取用户数据 :" + this.isGetUser);
        if (this.isGetUser) {
            clearDisposable();
            if (this.token != null) {
                startActivity(new Intent((Context) this, (Class<?>) MainActivity.class));
                finish();
            } else {
                startActivity(new Intent((Context) this, (Class<?>) LoginActivity.class));
                finish();
            }
        }
    }

    private void clearDisposable() {
        Disposable disposable = this.disposable;
        if (disposable == null || disposable.isDisposed()) {
            return;
        }
        this.disposable.dispose();
        this.disposable = null;
    }

    public void onMessage(Intent intent) {
        UMessage uMessage;
        List arrayList;
        super.onMessage(intent);
        String stringExtra = intent.getStringExtra("body");
        try {
            uMessage = new UMessage(new JSONObject(stringExtra));
        } catch (JSONException e) {
            e.printStackTrace();
            uMessage = null;
        }
        Log.i(TAG, "lyq onMessage message.display_type:" + uMessage.display_type + " body:" + stringExtra);
        if ("notification".equals(uMessage.display_type)) {
            Map map = uMessage.extra;
            for (String str : map.keySet()) {
                String str2 = (String) map.get(str);
                Log.i("MipushTestActivity", "lyq 厂家通道 key = " + str + "   value = " + str2);
                if ("weather_content".equals(str)) {
                    AlarmEventType alarmEventType = (AlarmEventType) new Gson().fromJson(str2, AlarmEventType.class);
                    Log.i("lyq Umeng", "lyq 厂家通道 getEventType:" + alarmEventType.getEventType());
                    if (TextUtils.isEmpty(alarmEventType.getEventType())) {
                        return;
                    }
                    alarmEventType.setOffLine(true);
                    String string = SharedPreUtils.getString(this, SharedPre.Alarm.ALARM_INFO);
                    if (!TextUtils.isEmpty(string)) {
                        arrayList = (List) new Gson().fromJson(string, new TypeToken<ArrayList<AlarmEventType>>() {
                        }.getType());
                        if (arrayList == null) {
                            arrayList = new ArrayList();
                            arrayList.add(alarmEventType);
                            System.out.println("lyq alarm 厂家通道 本地报警数据不为空 解析出来却为空 add");
                        } else {
                            int i = -1;
                            for (int i2 = 0; i2 < arrayList.size(); i2++) {
                                if (((AlarmEventType) arrayList.get(i2)).getEventData().getType() == alarmEventType.getEventData().getType()) {
                                    i = i2;
                                }
                            }
                            if (i != -1) {
                                arrayList.set(i, alarmEventType);
                            } else {
                                arrayList.add(alarmEventType);
                            }
                            System.out.println("lyq alarm 厂家通道 本地报警数据不为空 解析出来不为空 isSame:" + i);
                        }
                    } else {
                        arrayList = new ArrayList();
                        arrayList.add(alarmEventType);
                        System.out.println("lyq alarm 厂家通道 本地报警数据为空 add");
                    }
                    if (arrayList != null && arrayList.size() > 0) {
                        String json = new Gson().toJson(arrayList);
                        System.out.println("lyq alarm 厂家通道 保存至本地的报警数据:" + json);
                        SharedPreUtils.putString(this, SharedPre.Alarm.ALARM_INFO, json);
                    } else {
                        SharedPreUtils.putString(this, SharedPre.Alarm.ALARM_INFO, "");
                    }
                }
            }
        }
    }
}