diff --git a/app/build.gradle b/app/build.gradle index 1515613..49cda3d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -184,7 +184,7 @@ dependencies { implementation 'com.amap.api:location:5.1.0' //MMKV implementation 'com.tencent:mmkv-static:1.2.14' - implementation 'com.tencent.tpns:tpns:1.3.6.1-release' + implementation 'com.tencent.tpns:tpns:1.3.7.0-release' //状态栏透明 implementation 'com.gitee.zackratos:UltimateBarX:0.8.0' //指示器 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 ef1680a..1e0d492 100644 --- a/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/NoticeActivity.java @@ -1,12 +1,10 @@ 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.net.Uri; import android.os.Bundle; import android.os.PowerManager; import android.os.Vibrator; @@ -17,15 +15,18 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import androidx.appcompat.app.AppCompatActivity; +import androidx.constraintlayout.widget.ConstraintLayout; + import com.blankj.utilcode.util.FileUtils; import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.request.RequestOptions; import com.uiui.aios.R; +import com.uiui.aios.alarm.AlarmUtils; import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.network.NetInterfaceManager; -import com.uiui.aios.alarm.AlarmUtils; import com.uiui.aios.utils.FileUtil; import com.uiui.aios.utils.ScreenUtils; import com.uiui.aios.utils.Utils; @@ -35,9 +36,8 @@ import com.uiui.aios.view.JzvdStdAssert; import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.util.ArrayList; +import java.net.URI; import java.util.HashMap; -import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; @@ -186,7 +186,16 @@ public class NoticeActivity extends AppCompatActivity { } else if (FileUtil.isVideoFile(fileType)) { jz_video.setVisibility(View.VISIBLE); imageView.setVisibility(View.GONE); - JZDataSource jzDataSource = new JZDataSource(filePath, ""); + String fileName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.length()); + String realPath = Utils.getDownLoadPath(NoticeActivity.this) + fileName; + File file = new File(realPath); + JZDataSource jzDataSource; + if (!file.exists()) { + jzDataSource = new JZDataSource(filePath, ""); + } else { + URI uri = file.toURI(); + jzDataSource = new JZDataSource(uri.toString(), ""); + } jzDataSource.looping = true; jz_video.setUp(jzDataSource, Jzvd.SCREEN_NORMAL); jz_video.startVideo(); diff --git a/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java b/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java index 1708f0a..dac6897 100644 --- a/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/main/MainActivity.java @@ -12,12 +12,10 @@ import android.content.res.Configuration; import android.graphics.Color; import android.os.IBinder; import android.os.RemoteException; -import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; -import android.view.View; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; @@ -45,11 +43,6 @@ import com.uiui.aios.view.ScaleCircleNavigator; import net.lucode.hackware.magicindicator.MagicIndicator; import net.lucode.hackware.magicindicator.ViewPagerHelper; -import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator; -import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; -import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; -import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; -import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ClipPagerTitleView; import java.lang.reflect.Type; import java.util.ArrayList; @@ -384,6 +377,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { IntentFilter filter = new IntentFilter(); filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); filter.addAction(Intent.ACTION_PACKAGE_ADDED); + filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_REPLACED); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addDataScheme("package"); @@ -398,7 +392,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { String action = intent.getAction(); Log.e(TAG, "onReceive: " + action); if (Intent.ACTION_PACKAGE_ADDED.equals(action) - || Intent.ACTION_PACKAGE_REMOVED.equals(action)) { + || Intent.ACTION_PACKAGE_REMOVED.equals(action) + || Intent.ACTION_PACKAGE_CHANGED.equals(action)) { addData(); } } 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 30019e7..2a85b80 100644 --- a/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java +++ b/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java @@ -6,7 +6,6 @@ import android.app.PendingIntent; import android.content.ContentValues; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; @@ -14,16 +13,13 @@ import android.util.Log; import com.arialyy.aria.core.Aria; import com.blankj.utilcode.util.FileUtils; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import com.tencent.mmkv.MMKV; +import com.bumptech.glide.Glide; import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.service.main.MainService; +import com.uiui.aios.utils.FileUtil; import com.uiui.aios.utils.Utils; import java.io.File; -import java.lang.reflect.Type; -import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -37,7 +33,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.TimeZone; -import java.util.function.Function; public class AlarmUtils { @SuppressLint("StaticFieldLeak") @@ -284,10 +279,30 @@ public class AlarmUtils { List newData = mergeData(data); for (AlarmClockData clockData : newData) { setAlarm(clockData); + checkResource(clockData.getFile()); } insertListValues(newData); } + private void checkResource(String url) { + if (TextUtils.isEmpty(url)) + return; + String fileName = url.substring(url.lastIndexOf("/") + 1, url.length()); + if (FileUtil.isVideoFile(fileName)) { + String realPath = Utils.getDownLoadPath(mContext) + fileName; + File file = new File(realPath); + if (!file.exists()) { + Aria.download(this) + .load(url) //读取下载地址 + .setFilePath(Utils.getDownLoadPath(mContext) + fileName) + // .ignoreFilePathOccupy() + .create(); //启动下载} + } + }else if (FileUtil.isPictureFile(fileName)){ + Glide.with(mContext).load(url); + } + } + /** * 合并闹钟列表,删除不存在闹钟 * 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 ea36eb9..6102602 100644 --- a/app/src/main/java/com/uiui/aios/utils/ApkUtils.java +++ b/app/src/main/java/com/uiui/aios/utils/ApkUtils.java @@ -153,6 +153,10 @@ public class ApkUtils { } for (ApplicationInfo app : appInfos) { + if (appIsDisable(context, app.packageName)) { + Log.e(TAG, "queryFilterAppInfo: disable = " + app.packageName); + continue; + } if ((app.flags & ApplicationInfo.FLAG_SYSTEM) > 0)//通过flag排除系统应用,会将电话、短信也排除掉 { if (showPackageName.contains(app.packageName)) { @@ -208,6 +212,12 @@ public class ApkUtils { return desktopIcons; } + private static boolean appIsDisable(Context context, String pkg) { + PackageManager pm = context.getPackageManager(); + return pm.getApplicationEnabledSetting(pkg) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED; + } + + /** * 获取第三方应用 *