version:3.6

fix:去点腾讯推送
update:去掉系统节点
This commit is contained in:
2023-08-26 15:27:31 +08:00
parent 66171ac7e5
commit bf183a1dc2
116 changed files with 2566 additions and 1751 deletions

View File

@@ -59,18 +59,11 @@ public class ControlActivity extends BaseActivity {
@BindView(R.id.iv_back)
ImageView iv_back;
@BindView(R.id.tv_wifi)
TextView tv_wifi;
@BindView(R.id.tv_wifi_ssid)
TextView tv_wifi_ssid;
@BindView(R.id.tv_bt)
TextView tv_bt;
@BindView(R.id.tv_bt_ssid)
TextView tv_bt_ssid;
// @BindView(R.id.tv_font_size)
// TextView tv_font_size;
@BindView(R.id.seekBar)
RulerSeekBar seekBar;
@BindView(R.id.seekbar_brightness)
@@ -80,21 +73,14 @@ public class ControlActivity extends BaseActivity {
@BindView(R.id.tv_sound)
TextView tv_sound;
@BindView(R.id.tv_battery)
TextView tv_battery;
@BindView(R.id.tv_electricity)
TextView tv_electricity;
@BindView(R.id.tv_flashlight)
TextView tv_flashlight;
@BindView(R.id.tv_flashlight_switch)
TextView tv_flashlight_switch;
@BindView(R.id.tv_brightness)
TextView tv_brightness;
@BindView(R.id.tv_location)
TextView tv_location;
@BindView(R.id.cl_wifi)
ConstraintLayout cl_wifi;
@BindView(R.id.cl_bt)
@@ -153,6 +139,12 @@ public class ControlActivity extends BaseActivity {
}
}
});
cl_battery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_BATTERY_SAVER_SETTINGS));
}
});
}
@Override
@@ -164,15 +156,15 @@ public class ControlActivity extends BaseActivity {
cl_wifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
startActivity(new Intent(ControlActivity.this, WiFiManagerActivity.class));
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
// startActivity(new Intent(ControlActivity.this, WiFiManagerActivity.class));
}
});
if (isWifiEnabled()) {
tv_wifi_ssid.setText(getConnectWifiSsid());
// tv_wifi_ssid.setText(getConnectWifiSsid());
cl_wifi.setBackground(getDrawable(R.drawable.control_background_item));
} else {
tv_wifi_ssid.setText("未连接");
// tv_wifi_ssid.setText("未连接");
cl_wifi.setBackground(getDrawable(R.drawable.control_background_item_dis));
}
}
@@ -205,8 +197,6 @@ public class ControlActivity extends BaseActivity {
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mWifiReceiver, filter);
@@ -226,14 +216,14 @@ public class ControlActivity extends BaseActivity {
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {
Log.e(TAG, "wifi断开");
tv_wifi_ssid.setText("未连接");
// tv_wifi_ssid.setText("未连接");
cl_wifi.setBackground(getDrawable(R.drawable.control_background_item_dis));
} else if (info.getState().equals(NetworkInfo.State.CONNECTED)) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//获取当前wifi名称
String newSSID = wifiInfo.getSSID();
tv_wifi_ssid.setText(newSSID.replaceAll("\"", ""));
// tv_wifi_ssid.setText(getConnectWifiSsid());
cl_wifi.setBackground(getDrawable(R.drawable.control_background_item));
}
break;
@@ -242,7 +232,7 @@ public class ControlActivity extends BaseActivity {
int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);
if (wifistate == WifiManager.WIFI_STATE_DISABLED) {
Log.e(TAG, "系统关闭wifi");
tv_wifi_ssid.setText("");
// tv_wifi_ssid.setText("关");
cl_wifi.setBackground(getDrawable(R.drawable.control_background_item_dis));
} else if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
Log.e(TAG, "系统开启wifi");
@@ -271,17 +261,17 @@ public class ControlActivity extends BaseActivity {
}
private String getConnectWifiSsid() {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
// //去掉带引号的字符串方法一
// String wifiInfo1 = wifiInfo.getSSID();
// if (wifiInfo1.contains("\"")) {
// wifiInfo1 = wifiInfo1.substring(1, wifiInfo1.length() - 1);
// }
//去掉带引号的字符串方法二
String wifiSSID = wifiInfo.getSSID();
String wifiInfo1 = wifiSSID.replaceAll("\"", "");
return wifiInfo1;
// WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
// WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//// //去掉带引号的字符串方法一
//// String wifiInfo1 = wifiInfo.getSSID();
//// if (wifiInfo1.contains("\"")) {
//// wifiInfo1 = wifiInfo1.substring(1, wifiInfo1.length() - 1);
//// }
////去掉带引号的字符串方法二
// String wifiSSID = wifiInfo.getSSID();
// String wifiInfo1 = wifiSSID.replaceAll("\"", "");
return RemoteManager.getInstance().getConnectWifiSsid();
}
private BluetoothAdapter bluetoothAdapter;
@@ -289,16 +279,16 @@ public class ControlActivity extends BaseActivity {
private void getBluetooth() {
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter.isEnabled()) {
if (isConnected()) {
cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
tv_bt_ssid.setText(getBluetoothDeviceName());
} else {
cl_bt.setBackground(getDrawable(R.drawable.control_background_item_dis));
tv_bt_ssid.setText("未连接");
}
// if (isConnected()) {
// cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
// tv_bt_ssid.setText(getBluetoothDeviceName());
// } else {
// cl_bt.setBackground(getDrawable(R.drawable.control_background_item_dis));
// tv_bt_ssid.setText("未连接");
// }
} else {
cl_bt.setBackground(getDrawable(R.drawable.control_background_item_dis));
tv_bt_ssid.setText("已关闭");
// tv_bt_ssid.setText("已关闭");
}
getConnectedDevicesV1();
cl_bt.setOnClickListener(new View.OnClickListener() {
@@ -309,31 +299,31 @@ public class ControlActivity extends BaseActivity {
});
}
public boolean isConnected() {
Set<BluetoothDevice> bondedDevices = bluetoothAdapter.getBondedDevices();
List<BluetoothDevice> deviceList = bondedDevices.stream().filter(new Predicate<BluetoothDevice>() {
@Override
public boolean test(BluetoothDevice bluetoothDevice) {
return bluetoothDevice.isConnected();
}
}).collect(Collectors.toList());
return deviceList.size() > 0;
}
// public boolean isConnected() {
// Set<BluetoothDevice> bondedDevices = bluetoothAdapter.getBondedDevices();
// List<BluetoothDevice> deviceList = bondedDevices.stream().filter(new Predicate<BluetoothDevice>() {
// @Override
// public boolean test(BluetoothDevice bluetoothDevice) {
// return bluetoothDevice.isConnected();
// }
// }).collect(Collectors.toList());
// return deviceList.size() > 0;
// }
public String getBluetoothDeviceName() {
Set<BluetoothDevice> bondedDevices = bluetoothAdapter.getBondedDevices();
List<BluetoothDevice> deviceList = bondedDevices.stream().filter(new Predicate<BluetoothDevice>() {
@Override
public boolean test(BluetoothDevice bluetoothDevice) {
return bluetoothDevice.isConnected();
}
}).collect(Collectors.toList());
if (deviceList.size() == 0) {
return "未连接";
} else {
return deviceList.get(0).getName();
}
}
// public String getBluetoothDeviceName() {
// Set<BluetoothDevice> bondedDevices = bluetoothAdapter.getBondedDevices();
// List<BluetoothDevice> deviceList = bondedDevices.stream().filter(new Predicate<BluetoothDevice>() {
// @Override
// public boolean test(BluetoothDevice bluetoothDevice) {
// return bluetoothDevice.isConnected();
// }
// }).collect(Collectors.toList());
// if (deviceList.size() == 0) {
// return "未连接";
// } else {
// return deviceList.get(0).getName();
// }
// }
//TODO 根据mac地址判断是否已连接(这里参数可以直接用BluetoothDevice对象)
//但这么写其实更通用。
@@ -437,30 +427,30 @@ public class ControlActivity extends BaseActivity {
int blueState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, 0);
switch (blueState) {
case BluetoothAdapter.STATE_TURNING_ON:
tv_bt_ssid.setText("正在打开");
// tv_bt_ssid.setText("正在打开");
cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
break;
case BluetoothAdapter.STATE_ON:
tv_bt_ssid.setText("已打开");
// tv_bt_ssid.setText("已打开");
cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
break;
case BluetoothAdapter.STATE_TURNING_OFF:
tv_bt_ssid.setText("正在关闭");
// tv_bt_ssid.setText("正在关闭");
cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
break;
case BluetoothAdapter.STATE_OFF:
tv_bt_ssid.setText("已关闭");
// tv_bt_ssid.setText("已关闭");
cl_bt.setBackground(getDrawable(R.drawable.control_background_item_dis));
break;
default:
}
break;
case BluetoothDevice.ACTION_ACL_CONNECTED:
tv_bt_ssid.setText(getBluetoothDeviceName());
// tv_bt_ssid.setText(getBluetoothDeviceName());
cl_bt.setBackground(getDrawable(R.drawable.control_background_item));
break;
case BluetoothDevice.ACTION_ACL_DISCONNECTED:
tv_bt_ssid.setText("未连接");
// tv_bt_ssid.setText("未连接");
cl_bt.setBackground(getDrawable(R.drawable.control_background_item_dis));
break;
default:
@@ -471,7 +461,7 @@ public class ControlActivity extends BaseActivity {
}
private void getBattery() {
tv_electricity.setText(getBatteryCapacity() + "%");
// tv_electricity.setText(getBatteryCapacity() + "%");
if (isBatteryCharging()) {
cl_battery.setBackground(getDrawable(R.drawable.control_background_item));
} else {
@@ -523,7 +513,7 @@ public class ControlActivity extends BaseActivity {
filter.addAction(Intent.ACTION_POWER_CONNECTED);
filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
filter.addAction(Intent.ACTION_BATTERY_LEVEL_CHANGED);
// filter.addAction(Intent.ACTION_BATTERY_LEVEL_CHANGED);
filter.addAction(Intent.ACTION_BATTERY_LOW);
filter.addAction(Intent.ACTION_BATTERY_OKAY);
registerReceiver(mBatteryReceiver, filter);
@@ -546,9 +536,9 @@ public class ControlActivity extends BaseActivity {
case Intent.ACTION_POWER_DISCONNECTED:
cl_battery.setBackground(getDrawable(R.drawable.control_background_item_dis));
break;
case Intent.ACTION_BATTERY_LEVEL_CHANGED:
tv_electricity.setText(getBatteryCapacity() + "%");
break;
// case Intent.ACTION_BATTERY_LEVEL_CHANGED:
// tv_electricity.setText(getBatteryCapacity() + "%");
// break;
default:
}
}
@@ -707,9 +697,9 @@ public class ControlActivity extends BaseActivity {
return null;
}
private boolean isFlashlightEnabled() {
return Settings.Secure.getInt(crv, Settings.Secure.FLASHLIGHT_ENABLED, 0) == 1;
}
// private boolean isFlashlightEnabled() {
// return Settings.Secure.getInt(crv, Settings.Secure.FLASHLIGHT_ENABLED, 0) == 1;
// }
private void getFontSize() {
float fontScale = Settings.System.getFloat(crv, Settings.System.FONT_SCALE, 0.0f);
@@ -775,7 +765,7 @@ public class ControlActivity extends BaseActivity {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
Log.e(TAG, "onProgressChanged: i = " + i);
Settings.System.putInt(crv, Settings.System.SCREEN_BRIGHTNESS, i);
RemoteManager.getInstance().putSystemInt(Settings.System.SCREEN_BRIGHTNESS, i);
int gamma = BrightnessUtils.convertLinearToGamma(i, 1, 255);
Log.e(TAG, "onProgressChanged: gamma = " + gamma);
long percentage = Math.round((((double) gamma / 65535) * 100f));

View File

@@ -167,7 +167,7 @@ public class EmergencyActivity extends AppCompatActivity {
if (phoneListSet == null || phoneListSet.size() == 0) {
return;
}
Handler.getMain().postDelayed(new Runnable() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent1 = new Intent(Intent.ACTION_CALL);

View File

@@ -0,0 +1,197 @@
package com.uiuios.aios.activity;
import android.content.Context;
import android.media.AudioAttributes;
import android.media.SoundPool;
import android.os.Bundle;
import android.os.Handler;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.tuo.customview.VerificationCodeView;
import com.uiuios.aios.R;
import com.uiuios.aios.base.BaseActivity;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.manager.RemoteManager;
import butterknife.BindView;
import butterknife.ButterKnife;
public class ScreenLockActivity extends BaseActivity {
private static final String TAG = ScreenLockActivity.class.getSimpleName();
@BindView(R.id.iv_back)
ImageView iv_back;
@BindView(R.id.bt_0)
TextView bt0;
@BindView(R.id.bt_1)
TextView bt1;
@BindView(R.id.bt_2)
TextView bt2;
@BindView(R.id.bt_3)
TextView bt3;
@BindView(R.id.bt_4)
TextView bt4;
@BindView(R.id.bt_5)
TextView bt5;
@BindView(R.id.bt_6)
TextView bt6;
@BindView(R.id.bt_7)
TextView bt7;
@BindView(R.id.bt_8)
TextView bt8;
@BindView(R.id.bt_9)
TextView bt9;
@BindView(R.id.bt_del)
TextView bt_del;
@BindView(R.id.bt_confirm)
TextView bt_confirm;
@BindView(R.id.textView)
TextView textView;
@BindView(R.id.tv_hint)
TextView tv_hint;
@BindView(R.id.ll_keyboard)
LinearLayout ll_keyboard;
@BindView(R.id.icv)
VerificationCodeView codeView;
private SoundPool soundPool;
private int soundId;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
AudioAttributes attr = new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_GAME) // 设置音效使用场景
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC).build(); // 设置音效的类型
soundPool = new SoundPool.Builder().setAudioAttributes(attr) // 设置音效池的属性
.setMaxStreams(1) // 设置最多可容纳10个音频流
.build(); // ①
// load方法加载指定音频文件并返回所加载的音效ID
// 此处使用HashMap来管理这些音频流
soundId = soundPool.load(this, R.raw.click, 1);
}
@Override
public int getLayoutId() {
return R.layout.activity_screen_lock;
}
@Override
public void initView() {
ButterKnife.bind(this);
InputMethodManager imm = (InputMethodManager) ScreenLockActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(codeView.getWindowToken(), 0);
codeView.getEditText().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ll_keyboard.setVisibility(View.VISIBLE);
}
});
codeView.setInputCompleteListener(new VerificationCodeView.InputCompleteListener() {
@Override
public void inputComplete() {
checkPasswd();
}
@Override
public void deleteContent() {
}
});
bt_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv_hint.setText("");
codeView.clearInputContent();
}
});
bt_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkPasswd();
}
});
iv_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
bt0.setOnClickListener(view1 -> add(codeView, "0"));
bt1.setOnClickListener(view1 -> add(codeView, "1"));
bt2.setOnClickListener(view1 -> add(codeView, "2"));
bt3.setOnClickListener(view1 -> add(codeView, "3"));
bt4.setOnClickListener(view1 -> add(codeView, "4"));
bt5.setOnClickListener(view1 -> add(codeView, "5"));
bt6.setOnClickListener(view1 -> add(codeView, "6"));
bt7.setOnClickListener(view1 -> add(codeView, "7"));
bt8.setOnClickListener(view1 -> add(codeView, "8"));
bt9.setOnClickListener(view1 -> add(codeView, "9"));
}
private void checkPasswd() {
String content = codeView.getInputContent();
if (TextUtils.isEmpty(content) || content.length() != 4) {
return;
}
Log.e(TAG, "inputComplete: " + content);
String password = Settings.Global.getString(getContentResolver(), CommonConfig.LOCK_SCREEN_PASSWORD);
if ((!TextUtils.isEmpty(content) && !TextUtils.isEmpty(password))) {
if (password.equals(content)) {
exitDesktop();
} else {
setEmpty();
tv_hint.setText("密码错误");
}
} else if (CommonConfig.DEFAULT_PASSWORD.equals(content)) {
exitDesktop();
} else {
setEmpty();
tv_hint.setText("密码错误");
}
}
private void setEmpty() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
codeView.clearInputContent();
tv_hint.setText("");
}
}, 1000);
}
@Override
public void initData() {
}
private void add(VerificationCodeView codeView, String text) {
Log.e(TAG, "add: text = " + text);
String oldText = codeView.getEditText().getText().toString();
Log.e(TAG, "add: " + oldText);
codeView.getEditText().setText(text);
// soundPool.play(soundId, 1, 1, 0, 0, 1);
}
private void exitDesktop() {
RemoteManager.getInstance().openLauncher3();
finish();
System.exit(0);
}
}

View File

@@ -37,6 +37,7 @@ import com.uiuios.aios.alarm.AlarmUtils;
import com.uiuios.aios.base.GlideEngine;
import com.uiuios.aios.bean.AlarmClockId;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.utils.FFmpegUtils;
import com.uiuios.aios.utils.FileUtil;
@@ -318,7 +319,7 @@ public class AlarmClockAddActivity extends BaseLifecycleActivity {
alarmClockData.setIs_onoff(1);
Map<String, String> params = new HashMap<>();
params.put("sn", Utils.getSerial());
params.put("sn", RemoteManager.getInstance().getSerial());
params.put("time", timeStamp);
params.put("type", String.valueOf(mType));
params.put("title", et_activation.getText().toString());
@@ -365,7 +366,6 @@ public class AlarmClockAddActivity extends BaseLifecycleActivity {
public void onError(@NonNull Throwable e) {
Log.e("checkContent", "onError: " + e.getMessage());
ToastUtil.show("已保存到本地");
ToastUtil.show("添加成功");
ThreadLocalRandom random = ThreadLocalRandom.current();
int fakeId = random.nextInt(Integer.MAX_VALUE);
Log.e(TAG, "onError: fakeId = " + fakeId);

View File

@@ -46,6 +46,7 @@ import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.alarm.AlarmUtils;
import com.uiuios.aios.base.GlideEngine;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.utils.FFmpegUtils;
import com.uiuios.aios.utils.FileUtil;
@@ -432,7 +433,7 @@ public class AlarmClockEditActivity extends AppCompatActivity implements Lifecyc
Map<String, String> params = new HashMap<>();
params.put("sn", Utils.getSerial());
params.put("sn", RemoteManager.getInstance().getSerial());
params.put("id", String.valueOf(mId));
params.put("type", String.valueOf(mType));
params.put("time", timeStamp);

View File

@@ -25,6 +25,7 @@ import com.uiuios.aios.R;
import com.uiuios.aios.base.BaseLightActivity;
import com.uiuios.aios.base.GlideEngine;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.utils.GlideLoadUtils;
import com.uiuios.aios.utils.ToastUtil;
@@ -149,7 +150,7 @@ public class AddContactActivity extends BaseLightActivity {
RequestBody requestBody = RequestBody.Companion.create(avatarFile, mediaType);
MultipartBody.Part body = MultipartBody.Part.createFormData("avatar", avatarFile.getName(), requestBody);
Map<String, String> params = new HashMap<>();
params.put("sn", Utils.getSerial());
params.put("sn", RemoteManager.getInstance().getSerial());
params.put("name", name);
params.put("mobile", phone);
params.put("is_urgent", String.valueOf(toggleButton.isToggleOn()));

View File

@@ -10,6 +10,7 @@ import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.IBinder;
import android.os.RemoteException;
import android.provider.Settings;
@@ -26,15 +27,20 @@ import androidx.viewpager.widget.ViewPager;
import com.alarmclock.uiui.IAlarmAidlInterface;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.R;
import com.uiuios.aios.base.BaseActivity;
import com.uiuios.aios.bean.AlarmItem;
import com.uiuios.aios.bean.DesktopIcon;
import com.uiuios.aios.config.CommonConfig;
import com.uiuios.aios.fragment.AppListFragment;
import com.uiuios.aios.base.BaseFragmentPagerAdapter;
import com.uiuios.aios.fragment.custom.CustomFragment;
import com.uiuios.aios.fragment.second.SecondFragment;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.service.NotificationService;
import com.uiuios.aios.utils.ApkUtils;
import com.uiuios.aios.utils.AppUsedTimeUtils;
@@ -100,13 +106,13 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
// fragmentTransaction.add(R.id.viewPager, appListFragment);
// fragmentTransaction.commit();
is_twoscreen = Settings.Global.getInt(getContentResolver(), "is_twoscreen", 1) == 1;
if (is_twoscreen) {
appListIndex = 2;
defaultCurrent = 1;
mSecondFragment = new SecondFragment();
mFragments.add(mSecondFragment);
}
// is_twoscreen = Settings.Global.getInt(getContentResolver(), "is_twoscreen", 1) == 1;
// if (is_twoscreen) {
// appListIndex = 2;
// defaultCurrent = 1;
// mSecondFragment = new SecondFragment();
// mFragments.add(mSecondFragment);
// }
mCustomFragment = new CustomFragment();
mFragments.add(mCustomFragment);
@@ -167,6 +173,12 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
}
};
bindAlarmService();
RemoteManager.getInstance().setListener(new RemoteManager.ConnectedListener() {
@Override
public void onConnected() {
setDefaultDesktop();
}
});
}
private ServiceConnection mAlarmServiceConnection;
@@ -301,10 +313,76 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
if (!isNotificationListenersEnabled()) {
ToastUtil.show("请授予\"" + getString(R.string.app_name) + "\"使用通知权");
gotoNotificationAccessSetting(this);
} else {
getPermission();
}
addData();
}
public static final String Launcher3 = "com.android.launcher3";
public static final String Launcher3Class = "com.android.launcher3.Launcher";
public static final String Launcher3QuickstepClass = "com.android.launcher3.uioverrides.QuickstepLauncher";
private void setDefaultDesktop() {
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
Log.e(TAG, "onResume: is_activation = " + is_activation);
if (is_activation == 1) {
RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID, this.getClass().getName());
} else {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
RemoteManager.getInstance().setDefaultDesktop(Launcher3, Launcher3QuickstepClass);
} else {
RemoteManager.getInstance().setDefaultDesktop(Launcher3, Launcher3Class);
}
}
}
private String[] permission = new String[]{
Permission.CALL_PHONE,
// Permission.REQUEST_INSTALL_PACKAGES,
Permission.WRITE_EXTERNAL_STORAGE,
Permission.READ_PHONE_STATE,
Permission.WRITE_SETTINGS,
};
private void getPermission() {
XXPermissions.with(this)
// 申请单个权限
// .permission(Permission.RECORD_AUDIO)
// 申请多个权限
.permission(permission)
// 设置权限请求拦截器(局部设置)
//.interceptor(new PermissionInterceptor())
// 设置不触发错误检测机制(局部设置)
//.unchecked()
.request(new OnPermissionCallback() {
@Override
public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
if (!allGranted) {
ToastUtil.show("获取部分权限成功,但部分权限未正常授予");
return;
}
// ToastUtil.show("获取录音和日历权限成功");
Log.e(TAG, "onGranted: 获取存储权限成功");
addData();
}
@Override
public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
if (doNotAskAgain) {
ToastUtil.show("被永久拒绝授权,请手动授予存储权限");
// 如果是被永久拒绝就跳转到应用权限系统设置页面
XXPermissions.startPermissionActivity(MainActivity.this, permissions);
} else {
// ToastUtil.show("获取录音和日历权限失败");
Log.e(TAG, "onGranted: 获取存储权限权限失败");
}
}
});
}
private static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners";
private boolean isNotificationListenersEnabled() {

View File

@@ -12,6 +12,7 @@ import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.Contact;
import com.uiuios.aios.bean.NetDesktopIcon;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.utils.ApkUtils;
import com.uiuios.aios.utils.AppUsedTimeUtils;
@@ -122,7 +123,7 @@ public class MainPresenter implements MainContact.Presenter {
Log.e(TAG, "onRestart: " + ApkUtils.getAppNameByPackage(mContext, packagename));
Log.e(TAG, "onRestart: " + packagename);
NetInterfaceManager.getInstance().getAppUsageRecordControl()
.sendappUsageRecord(Utils.getSerial(),
.sendappUsageRecord(RemoteManager.getInstance().getSerial(),
ApkUtils.getAppNameByPackage(mContext, packagename),
packagename,
AppUsedTimeUtils.getInstance().getStartTime() / 1000,

View File

@@ -25,7 +25,7 @@ import io.reactivex.rxjava3.subjects.BehaviorSubject;
*/
public class WeatherPresenter implements WeatherContact.Presenter {
private static final String TAG = WeatherPresenter.class.getSimpleName();
private static final String WEATHER_DAILY_KEY = "WEATHER_DAILY_JSON_STRING";
public static final String WEATHER_DAILY_KEY = "WEATHER_DAILY_JSON_STRING";
private WeatherContact.WeatherView mView;
private Context mContext;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);