Files
CubeAoleyunSN/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
tongtongstudio 66787bb6a7 version:beta
fix:
update:增加一些电量设置
2022-07-23 10:05:30 +08:00

283 lines
13 KiB
Java

package com.aoleyun.sn.activity;
import android.annotation.SuppressLint;
import android.app.AlarmManager;
import android.app.StatusBarManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.media.AudioManager;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
import com.aoleyun.sn.activity.checknet.CheckNetActivity;
import com.aoleyun.sn.activity.main.MainActivity;
import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames;
import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.service.LogcatService;
import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.CmdUtil;
import com.aoleyun.sn.utils.FlowInfo;
import com.aoleyun.sn.utils.ForegroundAppUtil;
import com.aoleyun.sn.utils.GetFlowUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.NetworkUtils;
import com.aoleyun.sn.utils.SPUtils;
import com.aoleyun.sn.utils.ServiceAliveUtils;
import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.Utils;
import com.blankj.utilcode.util.PathUtils;
import com.google.gson.Gson;
import com.tencent.mmkv.MMKV;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.ObservableEmitter;
import io.reactivex.rxjava3.core.ObservableOnSubscribe;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.internal.Util;
public class SplashActivity extends AppCompatActivity {
private static String TAG = SplashActivity.class.getSimpleName();
private Button bt_log;
private Button bt_stop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBar();
setContentView(R.layout.activity_home);
initView();
debugTest();
new Handler().postDelayed(() -> {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
// startActivity(new Intent(SplashActivity.this, CheckNetActivity.class));
}, 2000);
}
private void setBar() {
UltimateBarX.statusBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
UltimateBarX.navigationBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
}
private void initView() {
if (BuildConfig.DEBUG) {
JGYUtils.getModel();
Log.e(TAG, "getOperators: " + NetworkUtils.getOperators(this));
Log.e(TAG, "PublicIP: " + MMKV.defaultMMKV().decodeString(NetInterfaceManager.PublicIP, ""));
NetInterfaceManager.GetWhois();
Log.e(TAG, "initView: " + NetworkUtils.getPhoneNumber(this));
FlowInfo flowInfo1 = GetFlowUtil.getAppFlowInfo(BuildConfig.APPLICATION_ID, this);
Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo1.getUpKb()));
Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo1.getDownKb()));
FlowInfo flowInfo2 = GetFlowUtil.getAppFlowInfo("com.aoleyun.appstore", this);
Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo2.getUpKb()));
Log.e(TAG, "initView: " + GetFlowUtil.byteToMB(flowInfo2.getDownKb()));
Log.e(TAG, "initView: " + Utils.getCurrentChargingCurrent());
Log.e(TAG, "initView: " + Utils.getCurrentChargingVoltage());
ApkUtils.showAllAPP(this);
// JGYUtils.getInstance().cleanBackgroundMemory();
// NetInterfaceManager.getInstance().uploadLogFile();
bt_log = findViewById(R.id.bt_log);
bt_log.setVisibility(View.VISIBLE);
bt_log.setOnClickListener(view -> {
if (!ServiceAliveUtils.isServiceAlive(SplashActivity.this, LogcatService.class.getName())) {
startService(new Intent(SplashActivity.this, LogcatService.class));
}
Intent intent = new Intent(LogcatService.LOGCAT_START_ACTION);
sendBroadcast(intent);
});
bt_stop = findViewById(R.id.bt_stop);
bt_stop.setVisibility(View.VISIBLE);
bt_stop.setOnClickListener(view -> {
if (!ServiceAliveUtils.isServiceAlive(SplashActivity.this, LogcatService.class.getName())) {
startService(new Intent(SplashActivity.this, LogcatService.class));
}
Intent intent = new Intent(LogcatService.LOGCAT_STOP_ACTION);
sendBroadcast(intent);
});
}
}
private void debugTest() {
// if (!BuildConfig.DEBUG) return;
// File file = new File("/system/media/bootanimation2.zip");
// if (file.exists()){
// Log.e(TAG, "debugTest: "+"file.exists" );
// }else {
// Log.e(TAG, "debugTest: "+"file not exists" );
// }
// if (file.delete()){
// Log.e(TAG, "debugTest: "+"file.delete" );
// }else {
// Log.e(TAG, "debugTest: "+"file delete failed" );
// }
// Utils.getHardware(this);
// setWebView();
// hideStatusBar();
// boolean qch_force_app = Settings.System.putString(getContentResolver(), "qch_launcher_icon_app", "");
Log.i(TAG, "DebugTest: qch_launcher_icon_app:" + Settings.System.getString(getContentResolver(), "qch_launcher_icon_app"));
Log.i(TAG, "DebugTest: aole_hide_NavigationBar: " + Settings.System.getString(getContentResolver(), CommonConfig.AOLE_ACTION_HIDE_NAVIGATION_BAR));
String only_jgy_shortcut_list = Settings.System.getString(getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
Log.i(TAG, "debugTest: only_jgy_shortcut_list:" + only_jgy_shortcut_list);
String aole_app_forbid = Settings.System.getString(getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID);
Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID, aole_app_forbid + ",com.aoleyun.browser");
Log.e(TAG, "debugTest: aole_app_forbid:" + aole_app_forbid);
Log.i(TAG, "debugTest: ip = " + JGYUtils.getInstance().getIPAddress());
Log.i(TAG, "debugTest: getPackage = " + Utils.getPackage());
Log.i(TAG, "debugTest: getMacAddress = " + Utils.getAndroid10MAC(this));
// Log.i(TAG, "debugTest: iptables = " + CmdUtil.execute("iptables -L -n" ).toString());
Log.i(TAG, "debugTest: " + Utils.getAndroid10MAC(this));
Log.e(TAG, "getCustomVersion: " + Utils.getCustomVersion());
Log.e(TAG, "getRomVersion: " + Utils.getRomVersion());
Log.i(TAG, "debugTest: " + BuildConfig.VERSION_NAME);
Log.i(TAG, "debugTest: " + Utils.getAPPVersionName(PackageNames.APPSTORE, this));
Log.i(TAG, "debugTest: " + Utils.getAndroid7MAC());
Log.i(TAG, "debugTest: launcher3 " + JGYUtils.getInstance().getStartClassName("com.android.launcher3"));
// try {
// new CacheUtils().cleanApplicationUserData(HomeActivity.this, "com.android.launcher3");
// } catch (Exception e) {
// e.printStackTrace();
// Log.e(TAG, "DebugTest: " + e.getMessage());
// }
// ActivityManager mAm = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// mAm.killBackgroundProcesses("com.android.documentsui");
Log.e(TAG, "debugTest: SPUtils all " + new Gson().toJson(SPUtils.getAll(this)));
try {
PackageManager packageManager = getPackageManager();
packageManager.setApplicationEnabledSetting(PackageNames.OLD_DEVICE_INFO, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
packageManager.setApplicationEnabledSetting(PackageNames.OLD_APPSTORE, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
} catch (Exception e) {
Log.e(TAG, "debugTest: " + e.getMessage());
}
// Utils.getPublicIP(this);
Utils.obtainWifiInfo(this);
Log.e("getLocalIP", "set: " + Utils.getIPAddress(this));
// WiFiUtils.getInstance().connectWifiPws("七彩宏云","colorfulyun.com");
// WiFiUtils.getInstance().connectWifiPws("fht","colorfulyun.com");
// WiFiUtils.getInstance().connectWifiPws("tt","colorfulyun.com");
// JGYUtils.getInstance().shutdown();
Log.e(TAG, "debugTest: " + PathUtils.getExternalDownloadsPath());
Log.e(TAG, "debugTest: " + ContextCompat.getExternalFilesDirs(this, Environment.DIRECTORY_DOWNLOADS)[0]);
//静音
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
int ringMax = audioManager.getStreamMinVolume(AudioManager.STREAM_RING);
int musicMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_MUSIC);
int voiceMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_VOICE_CALL);
audioManager.setStreamVolume(AudioManager.STREAM_RING, ringMax, 0);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, voiceMax, 0);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, musicMax, 0); //音乐音量
}
}
@SuppressLint("NewApi")
private void hideStatusBar() {
StatusBarManager mStatusBarManager = (StatusBarManager) getApplicationContext().getSystemService(Context.STATUS_BAR_SERVICE);
mStatusBarManager.disable(StatusBarManager.DISABLE_HOME);//隐藏home键
mStatusBarManager.disable(StatusBarManager.DISABLE_BACK);//隐藏返回键
mStatusBarManager.disable(StatusBarManager.DISABLE_RECENT | StatusBarManager.DISABLE_HOME);
mStatusBarManager.disable(StatusBarManager.DISABLE_BACK | StatusBarManager.DISABLE_RECENT | StatusBarManager.DISABLE_HOME);
mStatusBarManager.disable(StatusBarManager.DISABLE_RECENT);//隐藏recent键
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);//显示隐藏的虚拟按键
}
@RequiresApi(api = Build.VERSION_CODES.O)
private void bootanimotion() {
File file = new File(Environment.getExternalStorageDirectory() + File.separator + "bootanimation.zip");
String path0 = "/data/local/qchmedia/bootanimation.zip";
if (file.exists()) {
File file1 = new File(path0);
if (!file1.exists()) {
file.mkdirs();
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
Log.e("bootanimation", e.getMessage());
}
}
Log.e("bootanimation", "SD卡路径存在");
try {
Path path = Paths.get(file.getAbsolutePath());
Files.copy(path, new FileOutputStream(path0));
} catch (Exception e) {
Log.e("bootanimation", e.getMessage());
}
}
}
static final String url = "www.baidu.com";
private void setWebView() {
WebView webView = new WebView(this);
webView.loadUrl(url);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
//页面加载开始
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
//页面加载完成
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String realUrl = url;
//这个realUrl即为重定向之后的地址
Log.e(TAG, "onPageFinished: " + realUrl);
}
});
}
}