From 56a9a019ce10925e9e2d7d7e18f30aa3393bef49 Mon Sep 17 00:00:00 2001
From: fanhuitong <981964879@qq.com>
Date: Thu, 22 Sep 2022 10:18:52 +0800
Subject: [PATCH] =?UTF-8?q?version:3.8=20fix:=E4=BF=AE=E5=A4=8D=E6=8A=A5?=
=?UTF-8?q?=E9=94=99=20update:=E4=BC=98=E5=8C=96=E9=97=B9=E9=92=9F?=
=?UTF-8?q?=E5=93=8D=E9=93=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/build.gradle | 4 +-
app/src/main/AndroidManifest.xml | 5 +
.../uiui/aios/activity/NoticeActivity.java | 25 +++-
.../activity/alarm/AlarmClockActivity.java | 36 +++++-
.../java/com/uiui/aios/alarm/AlarmUtils.java | 4 +-
.../fragment/BaseFragmentPagerAdapter.java | 2 +-
.../uiui/aios/fragment/CustomFragment.java | 95 +++++++++-----
.../uiui/aios/fragment/SecondFragment.java | 11 +-
.../aios/network/NetInterfaceManager.java | 6 +
.../aios/service/main/MainSPresenter.java | 7 +-
.../com/uiui/aios/tpush/MessageReceiver.java | 15 ++-
.../java/com/uiui/aios/utils/ApkUtils.java | 1 +
.../com/uiui/aios/utils/GlideLoadUtils.java | 78 ++++++++++++
.../java/com/uiui/aios/utils/WakeUpUtils.java | 119 ++++++++++++++++++
.../main/res/layout/activity_alarm_clock.xml | 3 -
15 files changed, 359 insertions(+), 52 deletions(-)
create mode 100644 app/src/main/java/com/uiui/aios/utils/GlideLoadUtils.java
create mode 100644 app/src/main/java/com/uiui/aios/utils/WakeUpUtils.java
diff --git a/app/build.gradle b/app/build.gradle
index e9fc005..5fde585 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
applicationId "com.uiui.aios"
minSdkVersion 24
targetSdkVersion 29
- versionCode 26
- versionName "3.5"
+ versionCode 29
+ versionName "3.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1fb231c..f4eb803 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,8 @@
package="com.uiui.aios"
android:sharedUserId="android.uid.system">
+
+
@@ -11,6 +13,9 @@
+
+
+
diff --git a/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java b/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java
index 25ce766..ef1680a 100644
--- a/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java
+++ b/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java
@@ -3,9 +3,13 @@ package com.uiui.aios.activity;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
+import android.content.Context;
import android.content.Intent;
+import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
+import android.os.PowerManager;
+import android.os.Vibrator;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@@ -25,6 +29,7 @@ import com.uiui.aios.alarm.AlarmUtils;
import com.uiui.aios.utils.FileUtil;
import com.uiui.aios.utils.ScreenUtils;
import com.uiui.aios.utils.Utils;
+import com.uiui.aios.utils.WakeUpUtils;
import com.uiui.aios.view.JzvdStdAssert;
import java.io.File;
@@ -36,6 +41,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
+import cn.jzvd.JZDataSource;
import cn.jzvd.Jzvd;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
@@ -60,6 +66,11 @@ public class NoticeActivity extends AppCompatActivity {
private AlarmClockData alarmClockData;
private int code;
private MediaPlayer mediaPlayer;
+ private PowerManager pm;
+ private PowerManager.WakeLock wakeLock;
+ private AudioManager audioManager;
+
+ private Vibrator vibrator;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -68,9 +79,16 @@ public class NoticeActivity extends AppCompatActivity {
ButterKnife.bind(this);
Intent intent = getIntent();
code = intent.getIntExtra("id", -1);
+ pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "WakeAndLock");
+ vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (code == -1) {
finish();
} else {
+ wakeLock.acquire(60 * 1000L);
+ long[] pattern = {1000, 5000, 1000, 5000};
+ vibrator.vibrate(pattern, 0);
+ WakeUpUtils.wakeUpAndUnlockScreen(this);
HashMap oldData = AlarmUtils.getInstance().getOldData();
alarmClockData = oldData.get(code);
if (alarmClockData == null) {
@@ -83,6 +101,9 @@ public class NoticeActivity extends AppCompatActivity {
}
private void showData(AlarmClockData alarmClockData) {
+ audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, AudioManager.FLAG_PLAY_SOUND);
tv_title.setText(alarmClockData.getTitle());
bt_ok.setOnClickListener(new View.OnClickListener() {
@Override
@@ -165,7 +186,9 @@ public class NoticeActivity extends AppCompatActivity {
} else if (FileUtil.isVideoFile(fileType)) {
jz_video.setVisibility(View.VISIBLE);
imageView.setVisibility(View.GONE);
- jz_video.setUp(filePath, "");
+ JZDataSource jzDataSource = new JZDataSource(filePath, "");
+ jzDataSource.looping = true;
+ jz_video.setUp(jzDataSource, Jzvd.SCREEN_NORMAL);
jz_video.startVideo();
}
} else {
diff --git a/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java b/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java
index 1104b27..96fd313 100644
--- a/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java
+++ b/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java
@@ -1,5 +1,10 @@
package com.uiui.aios.activity.alarm;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Log;
import android.view.View;
import android.widget.ImageView;
@@ -11,6 +16,7 @@ import com.uiui.aios.adapter.AlarmAdapter;
import com.uiui.aios.alarm.AlarmUtils;
import com.uiui.aios.base.BaseActivity;
import com.uiui.aios.bean.AlarmClockData;
+import com.uiui.aios.tpush.MessageReceiver;
import com.uiui.aios.utils.ToastUtil;
import java.util.List;
@@ -20,6 +26,7 @@ import butterknife.ButterKnife;
import cn.jzvd.Jzvd;
public class AlarmClockActivity extends BaseActivity implements AlarmClockContact.ClockView {
+ private static final String TAG = AlarmClockActivity.class.getSimpleName();
@BindView(R.id.recyclerView)
RecyclerView recyclerView;
@@ -55,12 +62,12 @@ public class AlarmClockActivity extends BaseActivity implements AlarmClockContac
@Override
public void initData() {
+ registerAlarmClockReceiver();
mPresenter.getAlarmClock();
}
@Override
public void showAlarmClock(List alarmClockData) {
- AlarmUtils.getInstance().setAlarmClockData(alarmClockData);
mAlarmAdapter.setAlarmClockData(alarmClockData);
}
@@ -78,5 +85,32 @@ public class AlarmClockActivity extends BaseActivity implements AlarmClockContac
protected void onDestroy() {
super.onDestroy();
Jzvd.releaseAllVideos();
+ if (mAlarmClockReceiver != null) {
+ unregisterReceiver(mAlarmClockReceiver);
+ }
+ }
+
+ private void registerAlarmClockReceiver() {
+ if (null == mAlarmClockReceiver) {
+ mAlarmClockReceiver = new AlarmClockReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ filter.addAction(MessageReceiver.SET_ALARMCLOCK);
+ registerReceiver(mAlarmClockReceiver, filter);
+ }
+
+ private AlarmClockReceiver mAlarmClockReceiver;
+
+ private class AlarmClockReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ Log.e(TAG, "onReceive: " + action);
+ if (MessageReceiver.SET_ALARMCLOCK.equals(action)) {
+ mPresenter.getAlarmClock();
+ }
+ }
}
}
diff --git a/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java b/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java
index 8e8caac..30019e7 100644
--- a/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java
+++ b/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java
@@ -584,7 +584,9 @@ public class AlarmUtils {
timestamp += (8 - day_of_week) * AlarmManager.INTERVAL_DAY;
break;
default:
- timestamp += (6 - day_of_week) * AlarmManager.INTERVAL_DAY;
+ if (System.currentTimeMillis() > timestamp) {
+ timestamp += AlarmManager.INTERVAL_DAY;
+ }
break;
}
Intent intent = new Intent(action);
diff --git a/app/src/main/java/com/uiui/aios/fragment/BaseFragmentPagerAdapter.java b/app/src/main/java/com/uiui/aios/fragment/BaseFragmentPagerAdapter.java
index c184951..f5f06ca 100644
--- a/app/src/main/java/com/uiui/aios/fragment/BaseFragmentPagerAdapter.java
+++ b/app/src/main/java/com/uiui/aios/fragment/BaseFragmentPagerAdapter.java
@@ -176,7 +176,7 @@ public class BaseFragmentPagerAdapter extends FragmentPagerAdapter {
private void removeFragmentInternal(Fragment fragment) {
FragmentTransaction transaction = mFragmentManager.beginTransaction();
transaction.remove(fragment);
- transaction.commitNow();
+ transaction.commitAllowingStateLoss();
}
/**
diff --git a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java
index 823063d..9f1eaa2 100644
--- a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java
+++ b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java
@@ -19,6 +19,7 @@ import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import android.os.Handler;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -59,6 +60,7 @@ import com.uiui.aios.dialog.SingleDialog;
import com.uiui.aios.manager.AmapManager;
import com.uiui.aios.alarm.AlarmUtils;
import com.uiui.aios.network.NetInterfaceManager;
+import com.uiui.aios.tpush.MessageReceiver;
import com.uiui.aios.utils.ApkUtils;
import com.uiui.aios.utils.AppUtil;
import com.uiui.aios.utils.NetStateUtils;
@@ -191,8 +193,6 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
mParam2 = getArguments().getString(ARG_PARAM2);
}
mmkv = MMKV.defaultMMKV();
- registerBatteryReceiver();
- getActivity().registerReceiver(mbatteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
@@ -211,7 +211,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
private String getConnectWifiSsid() {
- WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
+ WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
Log.d("wifiInfo", wifiInfo.toString());
Log.d("SSID", wifiInfo.getSSID());
@@ -224,11 +224,39 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
* @return
*/
public boolean isWifiConnect() {
- ConnectivityManager connManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
+ ConnectivityManager connManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifiInfo.isConnected();
}
+ private void registerAlarmClockReceiver() {
+ if (null == mAlarmClockReceiver) {
+ mAlarmClockReceiver = new AlarmClockReceiver();
+ }
+ IntentFilter filter = new IntentFilter();
+ filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ filter.addAction(MessageReceiver.SET_ALARMCLOCK);
+ mContext.registerReceiver(mAlarmClockReceiver, filter);
+ }
+
+ private AlarmClockReceiver mAlarmClockReceiver;
+
+ private class AlarmClockReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ Log.e(TAG, "onReceive: " + action);
+ if (MessageReceiver.SET_ALARMCLOCK.equals(action)) {
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ getAlarmClock();
+ }
+ }, 3456);
+ }
+ }
+ }
+
private void registerBatteryReceiver() {
if (null == batteryReceiver) {
batteryReceiver = new BatteryReceiver();
@@ -240,10 +268,10 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
filter.addAction(Intent.ACTION_BATTERY_OKAY);
filter.addAction(Intent.ACTION_POWER_CONNECTED);
filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
- getActivity().registerReceiver(batteryReceiver, filter);
+ mContext.registerReceiver(batteryReceiver, filter);
}
- BatteryReceiver batteryReceiver;
+ private BatteryReceiver batteryReceiver;
private class BatteryReceiver extends BroadcastReceiver {
@@ -302,8 +330,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
private void initView() {
- Log.e(TAG, "initView: " + Utils.getBatteryLevel(getActivity()));
-// tv_battery.setText(Utils.getBatteryLevel(getActivity()) + "%");
+ Log.e(TAG, "initView: " + Utils.getBatteryLevel(mContext));
+ registerBatteryReceiver();
+ registerAlarmClockReceiver();
+ mContext.registerReceiver(mbatteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+
+// tv_battery.setText(Utils.getBatteryLevel(mContext) + "%");
// cpv.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
@@ -313,7 +345,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
// cl_alarm.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
-// ApkUtils.openPackage(getActivity(), "com.alarmclock.uiui");
+// ApkUtils.openPackage(mContext, "com.alarmclock.uiui");
// }
// });
cl_note.setOnClickListener(new View.OnClickListener() {
@@ -335,7 +367,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
getAlarm();
}
});
- rv_noti.setLayoutManager(new LinearLayoutManager(getActivity()));
+ rv_noti.setLayoutManager(new LinearLayoutManager(mContext));
rv_noti.setAdapter(notificationAdapter);
if (isWifiConnect()) {
// wifi_ssid.setText(getConnectWifiSsid());
@@ -343,10 +375,10 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
// wifi_ssid.setText("WiFi未连接");
}
// alarmClockAdapter = new AlarmClockAdapter();
-// rv_clock.setLayoutManager(new LinearLayoutManager(getActivity()));
+// rv_clock.setLayoutManager(new LinearLayoutManager(mContext));
// rv_clock.setAdapter(alarmClockAdapter);
sosNnmberAdapter = new SOSNnmberAdapter();
- rv_sos.setLayoutManager(new LinearLayoutManager(getActivity()));
+ rv_sos.setLayoutManager(new LinearLayoutManager(mContext));
rv_sos.setAdapter(sosNnmberAdapter);
cl_soso.setOnClickListener(new View.OnClickListener() {
@Override
@@ -357,7 +389,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
cl_weather.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- startActivity(new Intent(getActivity(), WeatherActivity.class));
+ startActivity(new Intent(mContext, WeatherActivity.class));
}
});
// cl_battery.setOnClickListener(new View.OnClickListener() {
@@ -375,13 +407,13 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
@Override
public void onClick(View v) {
getHealthCode();
-// SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_TONGUE);
+// SchemeUtils.openScheme(mContext, SchemeUtils.SCHEME_TONGUE);
}
});
mClTongue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-// startActivity(new Intent(getActivity(), CodeActivity.class));
+// startActivity(new Intent(mContext, CodeActivity.class));
// startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
openScheme(SchemeUtils.SCHEME_TONGUE);
}
@@ -389,15 +421,15 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
mClFace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-// startActivity(new Intent(getActivity(), CodeActivity.class));
+// startActivity(new Intent(mContext, CodeActivity.class));
openScheme(SchemeUtils.SCHEME_FACE);
}
});
mClHand.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
-// startActivity(new Intent(getActivity(), CodeActivity.class));
-// getActivity().startActivity(new Intent(getActivity(), APPListActivity.class));
+// startActivity(new Intent(mContext, CodeActivity.class));
+// mContext.startActivity(new Intent(mContext, APPListActivity.class));
openScheme(SchemeUtils.SCHEME_HAND);
}
});
@@ -410,7 +442,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
NetInterfaceManager.getInstance().getSystemSettings(new NetInterfaceManager.SosNumberCallback() {
@Override
public void setSosNumber(String json) {
- Intent intent = new Intent(getActivity(), EmergencyActivity.class);
+ Intent intent = new Intent(mContext, EmergencyActivity.class);
// intent.putExtra("setting_sos", phone);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
@@ -472,7 +504,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
});
initAmap();
- getAlarmClock();
+// getAlarmClock();
}
@Override
@@ -520,7 +552,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
dialog.setMessage("绑定手机才能使用");
dialog.show();
} else {
- SchemeUtils.openScheme(getActivity(), uri);
+ SchemeUtils.openScheme(mContext, uri);
}
}
});
@@ -664,7 +696,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
* @param unit (选填)单位选择,公制(m)或英制(i),默认为公制单位
* @param listener 网络访问结果回调
*/
- QWeather.getWeatherNow(getActivity(), location, Lang.ZH_HANS, Unit.METRIC, new QWeather.OnResultWeatherNowListener() {
+ QWeather.getWeatherNow(mContext, location, Lang.ZH_HANS, Unit.METRIC, new QWeather.OnResultWeatherNowListener() {
@Override
public void onError(Throwable e) {
Log.e("getWeatherNow", "onError: " + e);
@@ -677,8 +709,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
if (Code.OK == weatherBean.getCode()) {
WeatherNowBean.NowBaseBean now = weatherBean.getNow();
// String imageName = "he" + now.getIcon();
-// int resId = getResources().getIdentifier(imageName, "drawable", getActivity().getPackageName());
-// iv_pic.setImageDrawable(getActivity().getDrawable(resId));
+// int resId = getResources().getIdentifier(imageName, "drawable", mContext.getPackageName());
+// iv_pic.setImageDrawable(mContext.getDrawable(resId));
tv_temp.setText(now.getTemp() + "℃");
} else {
//在此查看返回数据失败的原因
@@ -688,7 +720,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
});
- QWeather.getWeather24Hourly(getActivity(), location, new QWeather.OnResultWeatherHourlyListener() {
+ QWeather.getWeather24Hourly(mContext, location, new QWeather.OnResultWeatherHourlyListener() {
@Override
public void onError(Throwable throwable) {
Log.e("getWeather24Hourly", "onError: " + throwable);
@@ -704,12 +736,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
String imageName = "he" + now.getIcon();
Log.e(TAG, "onSuccess: " + imageName);
if (isAdded()) {
- int resId = getResources().getIdentifier(imageName, "drawable", getActivity().getPackageName());
+ int resId = getResources().getIdentifier(imageName, "drawable", mContext.getPackageName());
Log.e(TAG, "onSuccess: " + resId);
if (resId == 0) {
- iv_pic.setImageDrawable(getActivity().getDrawable(R.drawable.he100));
+ iv_pic.setImageDrawable(mContext.getDrawable(R.drawable.he100));
} else {
- iv_pic.setImageDrawable(getActivity().getDrawable(resId));
+ iv_pic.setImageDrawable(mContext.getDrawable(resId));
}
tv_temp.setText(now.getTemp() + "℃");
}
@@ -764,10 +796,13 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
super.onDestroy();
NetworkUtils.unregisterNetworkStatusChangedListener(this);
if (batteryReceiver != null) {
- getActivity().unregisterReceiver(batteryReceiver);
+ mContext.unregisterReceiver(batteryReceiver);
}
if (mbatteryReceiver != null) {
- getActivity().unregisterReceiver(mbatteryReceiver);
+ mContext.unregisterReceiver(mbatteryReceiver);
+ }
+ if (mAlarmClockReceiver != null) {
+ mContext.unregisterReceiver(mAlarmClockReceiver);
}
}
}
diff --git a/app/src/main/java/com/uiui/aios/fragment/SecondFragment.java b/app/src/main/java/com/uiui/aios/fragment/SecondFragment.java
index 6cfe189..bc26541 100644
--- a/app/src/main/java/com/uiui/aios/fragment/SecondFragment.java
+++ b/app/src/main/java/com/uiui/aios/fragment/SecondFragment.java
@@ -262,16 +262,19 @@ public class SecondFragment extends BaseFragment implements NetworkUtils.OnNetwo
private void setActivity(ActivityBean activity) {
Glide.with(iv_avatar_a).load(activity.getAvatar()).error(getResources().getDrawable(R.drawable.default_head)).into(iv_avatar_a);
- tv_title_a.setText(activity.getTitle());
+ tv_title_a.setText(activity.getName());
tc_joined_num_a.setText(activity.getJoin_num() + "人参加");
- tv_time_a.setText(getTime(activity.getActivity_time()));
+ tv_time_a.setText(getTime(activity.getAdd_time()));
tv_address_a.setText(activity.getAddress());
}
private String getTime(long second) {
+ long ms = second * 1000L;
SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日 HH:mm");
- Date date = new Date(second * 1000);
- return sdf.format(date);
+ Date date = new Date(ms);
+ String time = sdf.format(date);
+ Log.e(TAG, "getTime: " + time);
+ return time;
}
private void initView() {
diff --git a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java
index bc37c14..11db742 100644
--- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java
@@ -11,6 +11,7 @@ import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.trello.rxlifecycle4.android.FragmentEvent;
+import com.uiui.aios.alarm.AlarmUtils;
import com.uiui.aios.bean.ActivityBean;
import com.uiui.aios.bean.AlarmClockData;
import com.uiui.aios.bean.ArticleInfo;
@@ -713,12 +714,17 @@ public class NetInterfaceManager {
if (listBaseResponse.code == 200) {
List alarmClockData = listBaseResponse.data;
if (alarmClockData != null && alarmClockData.size() != 0) {
+ AlarmUtils.getInstance().setAlarmClockData(alarmClockData);
if (callback != null) callback.setAlarmClock(alarmClockData);
} else {
+ AlarmUtils.getInstance().deleteAllAlarmClock();
+ AlarmUtils.getInstance().setAlarmClockData(null);
if (callback != null) callback.setAlarmClockEmpty();
}
mCacheHelper.put(URLAddress.GET_ALARM_CLOCK, GsonUtils.toJsonString(alarmClockData));
} else {
+ AlarmUtils.getInstance().deleteAllAlarmClock();
+ AlarmUtils.getInstance().setAlarmClockData(null);
mCacheHelper.put(URLAddress.GET_ALARM_CLOCK, "");
if (callback != null) callback.setAlarmClockEmpty();
}
diff --git a/app/src/main/java/com/uiui/aios/service/main/MainSPresenter.java b/app/src/main/java/com/uiui/aios/service/main/MainSPresenter.java
index 669267d..4f2433d 100644
--- a/app/src/main/java/com/uiui/aios/service/main/MainSPresenter.java
+++ b/app/src/main/java/com/uiui/aios/service/main/MainSPresenter.java
@@ -60,18 +60,17 @@ public class MainSPresenter implements MainSContact.Presenter {
NetInterfaceManager.getInstance().getAlarmClock(true, getLifecycle(), new NetInterfaceManager.AlarmClockCallback() {
@Override
public void setAlarmClock(List alarmClockList) {
- AlarmUtils.getInstance().setAlarmClockData(alarmClockList);
+ Log.e(TAG, "setAlarmClock: " + alarmClockList);
}
@Override
public void setAlarmClockEmpty() {
- AlarmUtils.getInstance().deleteAllAlarmClock();
- AlarmUtils.getInstance().setAlarmClockData(null);
+ Log.e(TAG, "setAlarmClock: ");
}
@Override
public void onError() {
-
+ Log.e(TAG, "setAlarmClock: ");
}
});
diff --git a/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
index ff447b9..2fc1cbb 100644
--- a/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
+++ b/app/src/main/java/com/uiui/aios/tpush/MessageReceiver.java
@@ -16,8 +16,10 @@ import com.tencent.android.tpush.XGPushClickedResult;
import com.tencent.android.tpush.XGPushRegisterResult;
import com.tencent.android.tpush.XGPushShowedResult;
import com.tencent.android.tpush.XGPushTextMessage;
+import com.uiui.aios.service.main.MainService;
import com.uiui.aios.tpush.common.NotificationService;
import com.uiui.aios.tpush.po.XGNotification;
+import com.uiui.aios.utils.ToastUtil;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -29,6 +31,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
public static final String TEST_ACTION = "com.qq.xgdemo.activity.TEST_ACTION";
public static final String LogTag = "xg.test";
+ public static final String SET_ALARMCLOCK = "zuoyeos.action.change.alarmclaock";
private Context mContext;
private ContentResolver mResolver;
@@ -286,9 +289,8 @@ public class MessageReceiver extends XGPushBaseReceiver {
// Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
- private int changeNum(int paramInt) {
- return paramInt == 0 ? 1 : 0;
- }
+ //闹钟
+ private static final String JIGUANG_ALARM_CLOCK = "57";
private void processCustomMessage(Context context, XGPushTextMessage message) {
if (context == null || message == null) {
@@ -305,9 +307,12 @@ public class MessageReceiver extends XGPushBaseReceiver {
}
switch (title) {
+ case JIGUANG_ALARM_CLOCK:
+ ToastUtil.betaShow("收到推送消息: 设置闹钟");
+ Intent intent = new Intent(SET_ALARMCLOCK);
+ mContext.sendBroadcast(intent);
+ break;
default:
}
}
-
-
}
diff --git a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java
index 147f7fb..74cce82 100644
--- a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java
+++ b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java
@@ -51,6 +51,7 @@ public class ApkUtils {
this.add("com.android.calendar");
this.add("com.android.uiuios");
this.add("com.uiui.os");
+ this.add("com.uiui.health");
}};
private static HashSet showPackageName = new HashSet() {{
this.add("com.android.dialer");
diff --git a/app/src/main/java/com/uiui/aios/utils/GlideLoadUtils.java b/app/src/main/java/com/uiui/aios/utils/GlideLoadUtils.java
new file mode 100644
index 0000000..3885fc6
--- /dev/null
+++ b/app/src/main/java/com/uiui/aios/utils/GlideLoadUtils.java
@@ -0,0 +1,78 @@
+package com.uiui.aios.utils;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.content.Context;
+import android.os.Build;
+import android.util.Log;
+import android.widget.ImageView;
+
+import androidx.fragment.app.Fragment;
+
+import com.bumptech.glide.Glide;
+
+/**
+ * Glide 加载 简单判空封装 防止异步加载数据时调用Glide 抛出异常
+ * Created by Li_Xavier on 2017/6/20 0020.
+ */
+public class GlideLoadUtils {
+ private String TAG = "ImageLoader";
+
+ /**
+ * 借助内部类 实现线程安全的单例模式
+ * 属于懒汉式单例,因为Java机制规定,内部类SingletonHolder只有在getInstance()
+ * 方法第一次调用的时候才会被加载(实现了lazy),而且其加载过程是线程安全的。
+ * 内部类加载的时候实例化一次instance。
+ */
+ public GlideLoadUtils() {
+ }
+
+ private static class GlideLoadUtilsHolder {
+ private final static GlideLoadUtils INSTANCE = new GlideLoadUtils();
+ }
+
+ public static GlideLoadUtils getInstance() {
+ return GlideLoadUtilsHolder.INSTANCE;
+ }
+
+ /**
+ * Glide 加载 简单判空封装 防止异步加载数据时调用Glide 抛出异常
+ *
+ * @param context
+ * @param url 加载图片的url地址 String
+ * @param imageView 加载图片的ImageView 控件
+ * @param default_image 图片展示错误的本地图片 id
+ */
+ public void glideLoad(Context context, String url, ImageView imageView, int default_image) {
+ if (context != null) {
+ Glide.with(context).load(url).centerCrop().error(default_image).into(imageView);
+ } else {
+ Log.i(TAG, "Picture loading failed,context is null");
+ }
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ public void glideLoad(Activity activity, String url, ImageView imageView, int default_image) {
+ if (!activity.isDestroyed()) {
+ Glide.with(activity).load(url).centerCrop().error(default_image).into(imageView);
+ } else {
+ Log.i(TAG, "Picture loading failed,activity is Destroyed");
+ }
+ }
+
+ public void glideLoad(Fragment fragment, String url, ImageView imageView, int default_image) {
+ if (fragment != null && fragment.getActivity() != null) {
+ Glide.with(fragment).load(url).centerCrop().error(default_image).into(imageView);
+ } else {
+ Log.i(TAG, "Picture loading failed,fragment is null");
+ }
+ }
+
+ public void glideLoad(android.app.Fragment fragment, String url, ImageView imageView, int default_image) {
+ if (fragment != null && fragment.getActivity() != null) {
+ Glide.with(fragment).load(url).centerCrop().error(default_image).into(imageView);
+ } else {
+ Log.i(TAG, "Picture loading failed,android.app.Fragment is null");
+ }
+ }
+}
diff --git a/app/src/main/java/com/uiui/aios/utils/WakeUpUtils.java b/app/src/main/java/com/uiui/aios/utils/WakeUpUtils.java
new file mode 100644
index 0000000..fb35a7b
--- /dev/null
+++ b/app/src/main/java/com/uiui/aios/utils/WakeUpUtils.java
@@ -0,0 +1,119 @@
+package com.uiui.aios.utils;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.os.Build;
+import android.os.PowerManager;
+import android.util.Log;
+import android.view.Window;
+import android.view.WindowManager;
+
+import androidx.annotation.RequiresApi;
+
+public class WakeUpUtils {
+
+ /**
+ * 唤醒手机屏幕并解锁
+ */
+ public static void wakeUpAndUnlock(Activity activity) {
+ // 获取电源管理器对象
+ PowerManager pm = (PowerManager) activity.getApplicationContext()
+ .getSystemService(Context.POWER_SERVICE);
+ boolean screenOn = pm.isScreenOn();
+ Log.d("WakeScreen0", "screenOn: " + screenOn);
+ if (!screenOn) {
+ // 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
+ @SuppressLint("InvalidWakeLockTag") PowerManager.WakeLock wl = pm.newWakeLock(
+ PowerManager.ACQUIRE_CAUSES_WAKEUP |
+ PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
+ wl.acquire(10000); // 点亮屏幕
+ wl.release(); // 释放
+ }
+ // 屏幕解锁
+ KeyguardManager keyguardManager = (KeyguardManager) activity.getApplicationContext()
+ .getSystemService(Context.KEYGUARD_SERVICE);
+ KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("unLock");
+ // 屏幕锁定
+// keyguardLock.reenableKeyguard();
+ keyguardLock.disableKeyguard(); // 解锁
+ unLockScreen(activity);
+ }
+
+ private static void unLockScreen(Activity activity) {
+ final Window win = activity.getWindow();
+ win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
+
+ win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+ | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
+ }
+
+ /**
+ * 唤醒手机屏幕并解锁
+ */
+ @RequiresApi(api = Build.VERSION_CODES.O)
+ public static void wakeUpAndUnlockScreen(Activity activity) {
+
+ Window win = activity.getWindow();
+ win.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+ | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+
+ PowerManager pm = (PowerManager) activity.getSystemService(Context.POWER_SERVICE);
+ @SuppressLint("InvalidWakeLockTag")
+ PowerManager.WakeLock wakelock = pm.newWakeLock(
+ PowerManager.FULL_WAKE_LOCK
+ | PowerManager.ACQUIRE_CAUSES_WAKEUP, "xx");
+ wakelock.acquire();
+ wakelock.release();
+
+ KeyguardManager keyguardManager = (KeyguardManager) activity.getApplicationContext()
+ .getSystemService(Context.KEYGUARD_SERVICE);
+
+ if (activity == null) return;
+ keyguardManager.requestDismissKeyguard(activity, new KeyguardManager.KeyguardDismissCallback() {
+ @Override
+ public void onDismissError() {
+ super.onDismissError();
+ Log.d("xxx-->", "1 onDismissError");
+ }
+
+ @Override
+ public void onDismissSucceeded() {
+ super.onDismissSucceeded();
+ Log.d("xxx-->", "1 onDismissSucceeded");
+ }
+
+ @Override
+ public void onDismissCancelled() {
+ super.onDismissCancelled();
+ Log.d("xxx-->", "1 onDismissCancelled");
+ }
+ });
+
+ if (activity == null) return;
+ keyguardManager.requestDismissKeyguard(activity, new KeyguardManager.KeyguardDismissCallback() {
+ @Override
+ public void onDismissError() {
+ super.onDismissError();
+ Log.d("xxx-->", "2 onDismissError");
+ }
+
+ @Override
+ public void onDismissSucceeded() {
+ super.onDismissSucceeded();
+ Log.d("xxx-->", "2 onDismissSucceeded");
+ }
+
+ @Override
+ public void onDismissCancelled() {
+ super.onDismissCancelled();
+ Log.d("xxx-->", "2 onDismissCancelled");
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/res/layout/activity_alarm_clock.xml b/app/src/main/res/layout/activity_alarm_clock.xml
index 211262c..98cdb62 100644
--- a/app/src/main/res/layout/activity_alarm_clock.xml
+++ b/app/src/main/res/layout/activity_alarm_clock.xml
@@ -36,7 +36,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
-
-
-
\ No newline at end of file