minSdkVersion 19
targetSdkVersion 29
versionCode 1
- versionName "1.0"
+ versionName "2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
- implementation 'androidx.appcompat:appcompat:1.1.0'
- implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
- androidTestImplementation 'androidx.test.ext:junit:1.1.1'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel:2.2.0"
// optional - ReactiveStreams support for LiveData
implementation "androidx.lifecycle:lifecycle-reactivestreams:2.2.0"
+ implementation "com.google.android.material:material:1.3.0-alpha03"
+
implementation "androidx.viewpager2:viewpager2:1.0.0"
implementation 'com.jakewharton.threetenabp:threetenabp:1.2.2'
- implementation 'com.jakewharton:butterknife:10.2.1'
- annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
+ implementation 'com.jakewharton:butterknife:10.2.3'
+ annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
- <activity android:name=".ui.DialogActivity"
- android:theme="@style/DialogActivityStyle"
- android:launchMode="singleInstance"/>
<activity android:name=".ui.notification.NotificationActivity" />
<activity
android:name=".ui.MainActivity"
@Override
public void onCreate() {
super.onCreate();
- CrashHandler crashHandler = CrashHandler.getInstance();
- crashHandler.init(getApplicationContext());
+ //CrashHandler crashHandler = CrashHandler.getInstance();
+ //crashHandler.init(getApplicationContext());
AndroidThreeTen.init(this);
IcLog.setLogHead("IcAk");
+++ /dev/null
-package com.ic.ak.launcher.data.battery;
-
-public class BatteryConnectStateEvent {
- public boolean state;
-
- public BatteryConnectStateEvent(boolean state) {
- this.state = state;
- }
-}
import com.ic.ak.launcher.BuildConfig;
import com.ic.ak.launcher.R;
+import com.ic.ak.launcher.data.play.PlaySoundEvent;
+import com.ic.ak.launcher.ui.dialog.ShowDialogEvent;
import org.greenrobot.eventbus.EventBus;
case Intent.ACTION_POWER_DISCONNECTED:
// 没有接电源
mBatteryChargingLiveData.setValue(false);
- EventBus.getDefault().post(new BatteryConnectStateEvent(false));
+ EventBus.getDefault().post(new PlaySoundEvent(1));
break;
case Intent.ACTION_POWER_CONNECTED:
//接电源
- EventBus.getDefault().post(new BatteryConnectStateEvent(true));
+ EventBus.getDefault().post(new PlaySoundEvent(0));
break;
}
}
if (level == -1) return;
+ if(rawlevel == 15 || rawlevel == 10){
+ EventBus.getDefault().post(new ShowDialogEvent(1004,0,null));
+ }
+
mBatteryValueLiveData.setValue(String.valueOf(rawlevel));
switch (status) {
import androidx.lifecycle.MutableLiveData;
import com.ic.ak.launcher.BuildConfig;
+import com.ic.ak.launcher.data.play.PlaySoundEvent;
+import com.ic.ak.launcher.data.play.SoundPlayUtils;
+import com.ic.ak.launcher.ui.dialog.AlertDialogManage;
+import com.ic.ak.launcher.ui.dialog.ShowDialogEvent;
import com.ic.ak.launcher.util.IcLog;
+import org.greenrobot.eventbus.EventBus;
public class HardwareDispose {
private static final String STRIP_ACTION = "com.ic.ACTION_STRIP";
private static final String EVENT_KEY = "eventID";
- public static final String ACTION_BATTERYLOW = "com.ic.ACTION_BATTERYLOW";
- public static final String KEY_BATTERY_EVENT = "eventID";
-
private static final String POWER_OFF_ACTION = "com.ic.action_IC_SHUTDOWN";
private static final String CLS_POWER = "com.ic.ak.hardware.ui.ShutDownActivity";
private MutableLiveData<String> mObsHardwareHeart;
private MutableLiveData<String> mObsHardwarePed;
+
public HardwareDispose() {
mObsHardwareHeart = new MediatorLiveData<>();
mObsHardwarePed = new MediatorLiveData<>();
+
}
public MutableLiveData<String> getObsHardwareHeart() {
context.sendBroadcast(pedIntent);
}
- public static void testBatteryBroadcast(Context context, String messgae) {
- Intent intent = new Intent(TXT_ACTION);
- intent.putExtra(TYPE_KEY,2);
- intent.putExtra(MSG_KEY,messgae);
+ public static void testTextBroadcast(Context context) {
+ Intent intent = new Intent(STRIP_ACTION);
+ intent.putExtra(EVENT_KEY,1);
context.sendBroadcast(intent);
}
}
if (product == 1002) {
filter.addAction(STRIP_ACTION);
- filter.addAction(ACTION_BATTERYLOW);
}
context.registerReceiver(mIntentReceiver, filter);
switch (event){
case 0:
//取消
- startDialogActivity(context,1005,"");
+ EventBus.getDefault().post(new ShowDialogEvent(0,0,null));
break;
case 1:
//低点
- startDialogActivity(context,1006,"");
- break;
- }
- break;
- case ACTION_BATTERYLOW:
- int battery = intent.getIntExtra(KEY_BATTERY_EVENT, -1);
- switch (battery){
- case 0:
- //取消
- startDialogActivity(context,1003,"");
- break;
- case 1:
- //低点
- startDialogActivity(context,1004,"");
+ EventBus.getDefault().post(new ShowDialogEvent(1006,0,null));
break;
}
break;
if (!TextUtils.isEmpty(message)) {
switch (type){
case 0:
- startDialogActivity(context,1001,message);
- break;
case 1:
- startDialogActivity(context,1000,message);
+ EventBus.getDefault().post(new ShowDialogEvent(1001,type,message));
break;
case 2:
- startDialogActivity(context,1007,message);
+ EventBus.getDefault().post(new ShowDialogEvent(1007,type,message));
break;
}
break;
case ACTION_KEEPSIT_ALARM:
IcLog.i(TAG, "alarm");
- startDialogActivity(context,1002,"");
+ EventBus.getDefault().post(new ShowDialogEvent(1002,0,null));
break;
}
}
} catch (Exception e) {
}
}
-
- private void startDialogActivity(Context context, int type, String message) {
- Intent intent = new Intent();
- intent.putExtra("TYPE", type);
- intent.putExtra("MESSAGE", message);
- intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
- intent.setComponent(new ComponentName("com.ic.ak.launcher", "com.ic.ak.launcher.ui.DialogActivity"));
- context.startActivity(intent);
- }
-
}
--- /dev/null
+package com.ic.ak.launcher.data.play;
+
+public class PlaySoundEvent {
+ public int key;
+
+ public PlaySoundEvent(int key) {
+ this.key = key;
+ }
+}
+++ /dev/null
-package com.ic.ak.launcher.ui;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.KeyEvent;
-
-import com.ic.ak.launcher.BuildConfig;
-import com.ic.ak.launcher.R;
-import com.ic.ak.launcher.data.play.SoundPlayUtils;
-import com.ic.ak.launcher.ui.dialog.BatteryLowManage;
-import com.ic.ak.launcher.ui.dialog.DialogDismissEvent;
-import com.ic.ak.launcher.ui.dialog.NotificationDialogManage;
-import com.ic.ak.launcher.ui.dialog.SedentaryDialogManage;
-import com.ic.ak.launcher.ui.dialog.SlipTipsManage;
-import com.ic.ak.launcher.ui.dialog.TextShowDialogManage;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-public class DialogActivity extends AppCompatActivity {
-
- private NotificationDialogManage notificationManage;
- private BatteryLowManage dialogLowManage;
- private SlipTipsManage dialogSlipManage;
- private SedentaryDialogManage sedentaryManage;
- private TextShowDialogManage showDialogManage;
-
- private SoundPlayUtils soundPlayUtils;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_dialog);
- EventBus.getDefault().register(this);
- analysisIntent(getIntent());
- }
-
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- analysisIntent(intent);
- }
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- return true;
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- EventBus.getDefault().unregister(this);
- notificationManage = null;
- dialogLowManage = null;
- dialogSlipManage = null;
- sedentaryManage = null;
- showDialogManage = null;
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onMessageEvent(DialogDismissEvent event) {
- finish();
- if(soundPlayUtils != null){
- soundPlayUtils.stopSoundPlay(16);
- }
- switch (event.index) {
- case 1:
- if (dialogLowManage != null) {
- dialogLowManage.setShowLowTipsFalse();
- }
- break;
- case 2:
- if (dialogSlipManage != null) {
- dialogSlipManage.setSlipTipsFalse();
- }
- break;
- case 3:
- if (notificationManage != null) {
- notificationManage.setNotificationFalse();
- }
- break;
- case 4:
- if (sedentaryManage != null) {
- sedentaryManage.setSedentaryFalse();
- }
- break;
- case 5:
- if (showDialogManage != null) {
- showDialogManage.setTextShowFalse();
- }
- break;
- }
- }
-
- private void analysisIntent(Intent intent) {
- int type = 0;
- String message = "";
- if (intent != null) {
- type = intent.getIntExtra("TYPE", 0);
- message = intent.getStringExtra("MESSAGE");
- }
-
- switch (type) {
- case 1000:
- case 1001:
- if (BuildConfig.productType == 1002) {
- if (showDialogManage == null) {
- showDialogManage = new TextShowDialogManage();
- } else {
- showDialogManage.dismissTextShowDialog(getSupportFragmentManager());
- }
- showDialogManage.showTextShowDialog(getSupportFragmentManager(), message);
- } else if (BuildConfig.productType == 1001) {
- if (notificationManage == null) {
- notificationManage = new NotificationDialogManage();
- } else {
- notificationManage.dismissLowTipsDialog(getSupportFragmentManager());
- }
- notificationManage.showNotificationDialog(getSupportFragmentManager(), type,message);
- }
- break;
- case 1002:
- if (BuildConfig.productType == 1001) {
- if (sedentaryManage != null) {
- return;
- }
- sedentaryManage = new SedentaryDialogManage();
- sedentaryManage.showSedentaryDialog(getSupportFragmentManager());
- }
- break;
- case 1003:
- if (dialogLowManage != null) {
- dialogLowManage.dismissLowTipsDialog(getSupportFragmentManager());
- }
- break;
- case 1004:
- if (dialogLowManage == null) {
- dialogLowManage = new BatteryLowManage();
- } else {
- dialogLowManage.dismissLowTipsDialog(getSupportFragmentManager());
- }
- dialogLowManage.showLowTipsDialog(getSupportFragmentManager());
- break;
- case 1005:
- if (dialogSlipManage != null) {
- dialogSlipManage.dismissSlipTipsDialog(getSupportFragmentManager());
- }
- break;
- case 1006:
- playKeyboardSound();
- if (dialogSlipManage == null) {
- dialogSlipManage = new SlipTipsManage();
- } else {
- dialogSlipManage.dismissSlipTipsDialog(getSupportFragmentManager());
- }
- dialogSlipManage.showSlipTipsDialog(getSupportFragmentManager());
- break;
- case 1007:
- playKeyboardSound();
- if (BuildConfig.productType == 1002) {
- if (showDialogManage == null) {
- showDialogManage = new TextShowDialogManage();
- } else {
- showDialogManage.dismissTextShowDialog(getSupportFragmentManager());
- }
- showDialogManage.showTextShowDialog(getSupportFragmentManager(), message);
- }
- break;
- }
- }
-
- private void playKeyboardSound(){
- int type = BuildConfig.productType;
- if(type == 1002){
- //A9
- if(soundPlayUtils == null){
- soundPlayUtils= new SoundPlayUtils();
- soundPlayUtils.playKeyboardSound(this,16);
- }
- }
- }
-}
\ No newline at end of file
import android.graphics.Rect;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
import android.provider.Settings;
import android.view.KeyEvent;
import android.view.View;
import com.ic.ak.launcher.BuildConfig;
import com.ic.ak.launcher.LauncherApp;
import com.ic.ak.launcher.R;
-import com.ic.ak.launcher.data.battery.BatteryConnectStateEvent;
import com.ic.ak.launcher.data.hardware.HardwareDispose;
+import com.ic.ak.launcher.data.play.PlaySoundEvent;
import com.ic.ak.launcher.data.play.SoundPlayUtils;
+import com.ic.ak.launcher.ui.dialog.AlertDialogManage;
+import com.ic.ak.launcher.ui.dialog.ShowDialogEvent;
import com.ic.ak.launcher.util.ServiceUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.lang.ref.WeakReference;
+
import butterknife.BindView;
import butterknife.ButterKnife;
private LauncherApp mApp;
private SoundPlayUtils soundPlayUtils;
+ private AlertDialogManage dialogManage;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
soundPlayUtils = new SoundPlayUtils();
+ dialogManage = new AlertDialogManage();
+
ServiceUtil.startServiceUtil(getApplicationContext(),
"com.ic.action.WORK_SERVICE", getPackageName());
+
+ handler = new TestHandler(this);
}
@Override
protected void onResume() {
super.onResume();
- //HardwareDispose.testBatteryBroadcast(this,"腕带已佩戴");
+ handler.sendEmptyMessageDelayed(1,5000);
}
@Override
}
@Subscribe(threadMode = ThreadMode.MAIN)
- public void onMessageEvent(BatteryConnectStateEvent event) {
- if (event.state) {
- soundPlayUtils.playKeyboardSound(this, 0);
- } else {
- soundPlayUtils.playKeyboardSound(this, 1);
+ public void onMessageEvent(PlaySoundEvent event) {
+ soundPlayUtils.playKeyboardSound(this, event.key);
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onMessageEvent(ShowDialogEvent event) {
+ switch (event.event){
+ case 0:
+ dialogManage.dismissLoadingDialog();
+ break;
+ case 1006:
+ soundPlayUtils.playKeyboardSound(this, 16);
+ dialogManage.showSlipLowDialog(this);
+ break;
+ case 1001:
+ if (BuildConfig.productType == 1002) {
+ dialogManage.showTextDialog(this,event.message);
+ }else if(BuildConfig.productType == 1001){
+ dialogManage.showNotificationDialog(this,this,event.type,event.message);
+ }
+ break;
+ case 1007:
+ if (BuildConfig.productType == 1002) {
+ dialogManage.showTextDialog(this,event.message);
+ soundPlayUtils.playKeyboardSound(this, 16);
+ }
+ break;
+ case 1002:
+ if (BuildConfig.productType == 1001) {
+ dialogManage.showSedentaryDialog(this,this);
+ }
+ break;
+ case 1004:
+ dialogManage.showBatteryLowDialog(this);
+ break;
}
}
indicatorRv.setAdapter(indicatorAdapter);
}
- private ViewPager2.OnPageChangeCallback scrollListener = new ViewPager2.OnPageChangeCallback() {
+ private final ViewPager2.OnPageChangeCallback scrollListener = new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
}
public static class SpacesItemDecoration extends RecyclerView.ItemDecoration {
- private int space;
+ private final int space;
public SpacesItemDecoration(int space) {
this.space = space;
outRect.left = space;
}
}
+
+ private TestHandler handler;
+
+ private static class TestHandler extends Handler{
+ private WeakReference<MainActivity> mWR;
+
+ public TestHandler(MainActivity activity) {
+ this.mWR = new WeakReference<>(activity);
+ }
+
+ @Override
+ public void dispatchMessage(@NonNull Message msg) {
+ super.dispatchMessage(msg);
+ mWR.get().testDialogBroadcast();
+ }
+ }
+
+ private void testDialogBroadcast(){
+ HardwareDispose.testTextBroadcast(this);
+ }
}
\ No newline at end of file
--- /dev/null
+package com.ic.ak.launcher.ui.dialog;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.util.DisplayMetrics;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.content.ContextCompat;
+import androidx.core.content.res.ResourcesCompat;
+
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.ic.ak.launcher.R;
+import com.ic.ak.launcher.util.IcLog;
+import com.ic.ak.launcher.widget.MultiRowTextView;
+
+public class AlertDialogManage {
+
+ private AlertDialog alertDialog;
+
+ public void showSedentaryDialog(Context context, AppCompatActivity activity){
+ if (alertDialog != null) {
+ dismissLoadingDialog();
+ }
+
+ View view = LayoutInflater.from(context).inflate(R.layout.dialog_sedentary_alarm,
+ null,
+ false);
+ ImageView btClose = view.findViewById(R.id.sedentary_close);
+ btClose.setOnClickListener(v ->dismissLoadingDialog());
+ alertDialog = new MaterialAlertDialogBuilder(context)
+ .setView(view)
+ .setBackground(ContextCompat.getDrawable(context, R.drawable.shape_sedentary_dialog_bg))
+ .setOnKeyListener((dialog, keyCode, event) -> {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ dismissLoadingDialog();
+ }
+ return false;
+ })
+ .create();
+
+ Window window = alertDialog.getWindow();
+ if (window != null) {
+ DisplayMetrics dm = new DisplayMetrics();
+ activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
+ window.setLayout(dm.widthPixels, dm.heightPixels);
+ window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+ }
+
+ alertDialog.show();
+ }
+
+ public void showSlipLowDialog(Context context) {
+ if (alertDialog != null) {
+ dismissLoadingDialog();
+ }
+
+ View view = LayoutInflater.from(context).inflate(R.layout.fragment_image_slip,
+ null, false);
+ view.setOnClickListener(v -> {
+ dismissLoadingDialog();
+ });
+ alertDialog = new MaterialAlertDialogBuilder(context)
+ .setView(view)
+ .setBackground(ContextCompat.getDrawable(context, R.drawable.shape_slip_alert_dialog_bg))
+ .setOnKeyListener((dialog, keyCode, event) -> {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ dismissLoadingDialog();
+ }
+ return false;
+ })
+ .create();
+
+ Window window = alertDialog.getWindow();
+ if (window != null) {
+ WindowManager.LayoutParams lp = window.getAttributes();
+ if(lp != null){
+ window.setGravity( Gravity.CENTER_HORIZONTAL | Gravity.TOP);
+ lp.y = 20;
+ }
+ window.setLayout(180, 180);
+ window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+ }
+
+ alertDialog.show();
+ }
+
+ public void showBatteryLowDialog(Context context) {
+ if (alertDialog != null) {
+ dismissLoadingDialog();
+ }
+
+ View view = LayoutInflater.from(context).inflate(R.layout.fragment_image_battery_low,
+ null, false);
+ view.setOnClickListener(v -> {
+ dismissLoadingDialog();
+ });
+ alertDialog = new MaterialAlertDialogBuilder(context)
+ .setView(view)
+ .setBackground(ContextCompat.getDrawable(context, R.drawable.shape_alert_dialog_bg))
+ .setOnKeyListener((dialog, keyCode, event) -> {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ dismissLoadingDialog();
+ }
+ return false;
+ })
+ .create();
+
+ Window window = alertDialog.getWindow();
+ if (window != null) {
+ WindowManager.LayoutParams lp = window.getAttributes();
+ if(lp != null){
+ window.setGravity( Gravity.CENTER_HORIZONTAL | Gravity.TOP);
+ lp.y = 20;
+ }
+ window.setLayout(180, 180);
+ window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+ }
+
+ alertDialog.show();
+ }
+
+ public void showTextDialog(Context context,String message){
+ if (alertDialog != null) {
+ dismissLoadingDialog();
+ }
+
+ View view = LayoutInflater.from(context).inflate(R.layout.dialog_text_show_a9, null, false);
+ TextView textMessage = view.findViewById(R.id.message_tips_id);
+ textMessage.setText(message);
+ view.setOnClickListener(v -> dismissLoadingDialog());
+
+ alertDialog = new MaterialAlertDialogBuilder(context)
+ .setView(view)
+ .setBackground(ContextCompat.getDrawable(context, R.drawable.shape_dialog_notification_bg))
+ .setOnKeyListener((dialog, keyCode, event) -> {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ dismissLoadingDialog();
+ }
+ return false;
+ })
+ .create();
+
+ Window window = alertDialog.getWindow();
+ if (window != null) {
+ WindowManager.LayoutParams lp = window.getAttributes();
+ window.setLayout(220, 140);
+ window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+ }
+ alertDialog.show();
+ }
+
+ public void showNotificationDialog(AppCompatActivity activity,Context context,int type,String message){
+ if (alertDialog != null) {
+ dismissLoadingDialog();
+ }
+
+ View view = LayoutInflater.from(context).inflate(R.layout.dialog_notification, null, false);
+ MultiRowTextView msgText = view.findViewById(R.id.dialog_message);
+ TextView textView = view.findViewById(R.id.dialog_title);
+ if(type == 1000){
+ textView.setText("短信消息");
+ }
+ Button btClose = view.findViewById(R.id.dialog_bt_close);
+ Button btOpen = view.findViewById(R.id.dialog_bt_open);
+ msgText.setText(message);
+ btClose.setOnClickListener(v -> dismissLoadingDialog());
+
+ btOpen.setOnClickListener(v -> {
+ if(type == 1000){
+ startMessageActivity(context);
+ }else if(type == 1001){
+ startNotificationActivity(context,message);
+ }
+ dismissLoadingDialog();
+ });
+
+ alertDialog = new MaterialAlertDialogBuilder(context)
+ .setView(view)
+ .setBackground(ContextCompat.getDrawable(context, R.drawable.shape_dialog_notification_bg))
+ .setOnKeyListener((dialog, keyCode, event) -> {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ dismissLoadingDialog();
+ }
+ return false;
+ })
+ .create();
+
+ Window window = alertDialog.getWindow();
+ if (window != null) {
+ DisplayMetrics dm = new DisplayMetrics();
+ activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
+ window.setLayout(dm.widthPixels, 220);
+ window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+ }
+
+ alertDialog.show();
+ }
+
+ public void dismissLoadingDialog() {
+ if (alertDialog != null) {
+ alertDialog.dismiss();
+ alertDialog = null;
+ }
+ }
+
+ private void startNotificationActivity(Context context,String message) {
+ try {
+ Intent intent = new Intent();
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra("N_MESSAGE", message);
+ intent.setComponent(new ComponentName(
+ "com.ic.ak.launcher",
+ "com.ic.ak.launcher.ui.notification.NotificationActivity"));
+ context.startActivity(intent);
+ } catch (Exception e) {
+ }
+ }
+
+ private void startMessageActivity(Context context) {
+ try {
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setComponent(new ComponentName(
+ "com.ic.message", "com.ic.message.MainActivity"));
+ context.startActivity(intent);
+ } catch (Exception e) {
+ IcLog.e("HardwareDispose","",e);
+ }
+ }
+}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-
-import androidx.fragment.app.DialogFragment;
-
-import com.ic.ak.launcher.R;
-
-import org.greenrobot.eventbus.EventBus;
-
-
-public class BatteryLowFragment extends DialogFragment {
-
- public static BatteryLowFragment newInstance() {
- return new BatteryLowFragment();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog);
- }
-
- @Override
- public void onStart() {
- super.onStart();
- Dialog dialog = getDialog();
- if (dialog != null) {
- DisplayMetrics dm = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
- dialog.getWindow().setLayout((int) (dm.widthPixels*0.85),180);
- dialog.setCancelable(false);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_image_battery_low, container, false);
- ImageView btClose = view.findViewById(R.id.slip_bt_close);
- btClose.setOnClickListener(v ->{
- EventBus.getDefault().post(new DialogDismissEvent(1));
- dismiss();
- });
- return view;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-public class BatteryLowManage {
-
- private static final String TAG = "LowTips";
- private boolean isShowLowTips = false;
-
- public void setShowLowTipsFalse(){
- isShowLowTips=false;
- }
-
- public void showLowTipsDialog(FragmentManager manager) {
- if (isShowLowTips || manager == null) {
- return;
- }
- FragmentTransaction ft = manager.beginTransaction();
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- ft.remove(prev);
- }
- ft.addToBackStack(null);
-
- try {
- // Create and show the dialog.
- DialogFragment newFragment = BatteryLowFragment.newInstance();
- newFragment.show(ft, TAG);
- } catch (IllegalStateException e) {
- } finally {
- isShowLowTips = true;
- }
- }
-
- public void dismissLowTipsDialog(FragmentManager manager) {
- if (!isShowLowTips || manager == null) {
- return;
- }
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- DialogFragment df = (DialogFragment) prev;
- df.dismiss();
- }
-
- isShowLowTips = false;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-public class DialogDismissEvent {
- public int index;
-
- public DialogDismissEvent(int index) {
- this.index = index;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.Dialog;
-import android.content.ComponentName;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.DialogFragment;
-
-import com.ic.ak.launcher.R;
-import com.ic.ak.launcher.util.IcLog;
-import com.ic.ak.launcher.widget.MultiRowTextView;
-
-import org.greenrobot.eventbus.EventBus;
-
-public class NotificationDialogFragment extends DialogFragment {
-
- private static final String TYPE_PARAM = "TYPE_PARAM";
- private static final String MESSAGE_PARAM = "MESSAGE_PARAM";
- private String message;
- private int type;
-
- public static NotificationDialogFragment newInstance(int type,String message) {
- NotificationDialogFragment fragment = new NotificationDialogFragment();
- Bundle args = new Bundle();
- args.putString(MESSAGE_PARAM, message);
- args.putInt(TYPE_PARAM,type);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setStyle(DialogFragment.STYLE_NORMAL, R.style.NotificationDialog);
- if (getArguments() != null) {
- type = getArguments().getInt(TYPE_PARAM);
- message = getArguments().getString(MESSAGE_PARAM);
- }
- }
-
- @Override
- public void onStart() {
- super.onStart();
- Dialog dialog = getDialog();
- if (dialog != null) {
- DisplayMetrics dm = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
- dialog.getWindow().setLayout((int) (dm.widthPixels * 0.95), 180);
- dialog.setCancelable(false);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.dialog_notification, container, false);
- MultiRowTextView msgText = view.findViewById(R.id.dialog_message);
- TextView textView = view.findViewById(R.id.dialog_title);
- if(type == 1000){
- textView.setText("短信消息");
- }
- Button btClose = view.findViewById(R.id.dialog_bt_close);
- Button btOpen = view.findViewById(R.id.dialog_bt_open);
- msgText.setText(message);
- btClose.setOnClickListener(v -> {
- EventBus.getDefault().post(new DialogDismissEvent(3));
- dismiss();
- });
-
- btOpen.setOnClickListener(v -> {
- EventBus.getDefault().post(new DialogDismissEvent(3));
- if(type == 1000){
- startMessageActivity();
- }else if(type == 1001){
- startNotificationActivity(message);
- }
- dismiss();
- });
- return view;
- }
-
- private void startNotificationActivity(String message) {
- try {
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.putExtra("N_MESSAGE", message);
- intent.setComponent(new ComponentName(
- "com.ic.ak.launcher",
- "com.ic.ak.launcher.ui.notification.NotificationActivity"));
- getActivity().startActivity(intent);
- } catch (Exception e) {
- }
- }
-
- private void startMessageActivity() {
- try {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setComponent(new ComponentName(
- "com.ic.message", "com.ic.message.MainActivity"));
- getActivity().startActivity(intent);
- } catch (Exception e) {
- IcLog.e("HardwareDispose","",e);
- }
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-import com.ic.ak.launcher.R;
-
-public class NotificationDialogManage {
-
- private static final String TAG = "IcNotification";
- private boolean isNotificationDialog = false;
-
- public void setNotificationFalse(){
- isNotificationDialog=false;
- }
-
- public void showNotificationDialog(FragmentManager manager, int type,String message) {
- if (isNotificationDialog || manager == null) {
- return;
- }
- FragmentTransaction ft = manager.beginTransaction();
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- ft.remove(prev);
- }
- ft.addToBackStack(null);
-
- try {
- // Create and show the dialog.
- DialogFragment newFragment = NotificationDialogFragment.newInstance(type,message);
- newFragment.show(ft, TAG);
- } catch (IllegalStateException e) {
- } finally {
- isNotificationDialog = true;
- }
- }
-
- public void dismissLowTipsDialog(FragmentManager manager) {
- if (!isNotificationDialog || manager == null) {
- return;
- }
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- DialogFragment df = (DialogFragment) prev;
- df.dismiss();
- }
-
- isNotificationDialog = false;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-
-import androidx.fragment.app.DialogFragment;
-
-import com.ic.ak.launcher.R;
-
-import org.greenrobot.eventbus.EventBus;
-
-public class SedentaryAlarmDialogFragment extends DialogFragment {
-
- public static SedentaryAlarmDialogFragment newInstance() {
- return new SedentaryAlarmDialogFragment();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog);
- }
-
- @Override
- public void onStart() {
- super.onStart();
- Dialog dialog = getDialog();
- if (dialog != null) {
- DisplayMetrics dm = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
- dialog.getWindow().setLayout(dm.widthPixels, dm.heightPixels);
- dialog.setCancelable(false);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.dialog_sedentary_alarm, container, false);
- ImageView btClose = view.findViewById(R.id.sedentary_close);
- btClose.setOnClickListener(v -> {
- EventBus.getDefault().post(new DialogDismissEvent(4));
- dismiss();
- });
- return view;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-public class SedentaryDialogManage {
-
- private static final String TAG = "IcSedentary";
- private boolean isNotificationDialog = false;
-
- public void setSedentaryFalse(){
- isNotificationDialog=false;
- }
-
- public void showSedentaryDialog(FragmentManager manager) {
- if (isNotificationDialog || manager == null) {
- return;
- }
- FragmentTransaction ft = manager.beginTransaction();
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- ft.remove(prev);
- }
- ft.addToBackStack(null);
-
- try {
- // Create and show the dialog.
- DialogFragment newFragment = SedentaryAlarmDialogFragment.newInstance();
- newFragment.show(ft, TAG);
- } catch (IllegalStateException e) {
- } finally {
- isNotificationDialog = true;
- }
- }
-
- public void dismissSedentaryDialog(FragmentManager manager) {
- if (!isNotificationDialog || manager == null) {
- return;
- }
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- DialogFragment df = (DialogFragment) prev;
- df.dismiss();
- }
-
- isNotificationDialog = false;
- }
-}
--- /dev/null
+package com.ic.ak.launcher.ui.dialog;
+
+public class ShowDialogEvent {
+ public int event;
+ public int type;
+ public String message;
+
+ public ShowDialogEvent(int event, int type, String message) {
+ this.event = event;
+ this.type = type;
+ this.message = message;
+ }
+}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-
-import androidx.fragment.app.DialogFragment;
-
-import com.ic.ak.launcher.R;
-
-import org.greenrobot.eventbus.EventBus;
-
-
-public class SlipTipsFragment extends DialogFragment {
-
-
- public static SlipTipsFragment newInstance() {
- return new SlipTipsFragment();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog);
- }
-
- @Override
- public void onStart() {
- super.onStart();
- Dialog dialog = getDialog();
- if (dialog != null) {
- DisplayMetrics dm = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
- dialog.getWindow().setLayout((int) (dm.widthPixels*0.85),180);
- dialog.setCancelable(false);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_image_slip, container, false);
- ImageView btClose = view.findViewById(R.id.slip_bt_close);
- btClose.setOnClickListener(v ->{
- EventBus.getDefault().post(new DialogDismissEvent(2));
- dismiss();
- });
- return view;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-public class SlipTipsManage {
-
- private static final String TAG = "SlipTips";
- private boolean isShowSlipTips = false;
-
- public void setSlipTipsFalse(){
- isShowSlipTips=false;
- }
-
- public void showSlipTipsDialog(FragmentManager manager) {
- if (isShowSlipTips || manager == null) {
- return;
- }
- FragmentTransaction ft = manager.beginTransaction();
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- ft.remove(prev);
- }
- ft.addToBackStack(null);
-
- try {
- // Create and show the dialog.
- DialogFragment newFragment = SlipTipsFragment.newInstance();
- newFragment.show(ft, TAG);
- } catch (IllegalStateException e) {
- } finally {
- isShowSlipTips = true;
- }
- }
-
- public void dismissSlipTipsDialog(FragmentManager manager) {
- if (!isShowSlipTips || manager == null) {
- return;
- }
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- DialogFragment df = (DialogFragment) prev;
- df.dismiss();
- }
-
- isShowSlipTips = false;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.fragment.app.DialogFragment;
-
-import com.ic.ak.launcher.R;
-
-import org.greenrobot.eventbus.EventBus;
-
-
-public class TextShowDialogFragment extends DialogFragment {
-
- private static final String MESSAGE_PARAM = "MESSAGE_PARAM";
- private String message;
-
- public static TextShowDialogFragment newInstance(String message) {
- TextShowDialogFragment fragment = new TextShowDialogFragment();
- Bundle args = new Bundle();
- args.putString(MESSAGE_PARAM, message);
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog);
- if (getArguments() != null) {
- message = getArguments().getString(MESSAGE_PARAM);
- }
- }
-
- @Override
- public void onStart() {
- super.onStart();
- Dialog dialog = getDialog();
- if (dialog != null) {
- DisplayMetrics dm = new DisplayMetrics();
- getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
- dialog.getWindow().setLayout((int) (dm.widthPixels*0.85),180);
- dialog.setCancelable(false);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.dialog_text_show_a9, container, false);
- TextView textMessage = view.findViewById(R.id.message_tips_id);
- ImageView btClose = view.findViewById(R.id.slip_bt_close);
- textMessage.setText(message);
- btClose.setOnClickListener(v ->{
- EventBus.getDefault().post(new DialogDismissEvent(5));
- dismiss();
- });
- return view;
- }
-}
+++ /dev/null
-package com.ic.ak.launcher.ui.dialog;
-
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-public class TextShowDialogManage {
-
- private static final String TAG = "IcA9TextShow";
- private boolean isShowDialog = false;
-
- public void setTextShowFalse(){
- isShowDialog=false;
- }
-
- public void showTextShowDialog(FragmentManager manager,String message) {
- if (isShowDialog || manager == null) {
- return;
- }
- FragmentTransaction ft = manager.beginTransaction();
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- ft.remove(prev);
- }
- ft.addToBackStack(null);
-
- try {
- // Create and show the dialog.
- DialogFragment newFragment = TextShowDialogFragment.newInstance(message);
- newFragment.show(ft, TAG);
- } catch (IllegalStateException e) {
- } finally {
- isShowDialog = true;
- }
- }
-
- public void dismissTextShowDialog(FragmentManager manager) {
- if (!isShowDialog || manager == null) {
- return;
- }
- Fragment prev = manager.findFragmentByTag(TAG);
- if (prev != null) {
- DialogFragment df = (DialogFragment) prev;
- df.dismiss();
- }
-
- isShowDialog = false;
- }
-}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- 矩形的圆角弧度 -->
+ <corners android:radius="150dp" />
+ <!-- 矩形的填充色 -->
+ <solid android:color="#262626" />
+</shape>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- 矩形的圆角弧度 -->
+ <corners android:radius="25dp" />
+ <!-- 矩形的填充色 -->
+ <solid android:color="#000000" />
+</shape>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- 矩形的填充色 -->
+ <solid android:color="#040401" />
+</shape>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- 矩形的圆角弧度 -->
+ <corners android:radius="150dp" />
+ <!-- 矩形的填充色 -->
+ <solid android:color="#bd2c2c" />
+</shape>
\ No newline at end of file
<Button
android:id="@+id/dialog_bt_close"
- android:layout_width="120dp"
+ android:layout_width="100dp"
android:layout_height="60dp"
android:layout_below="@id/dialog_line"
android:layout_marginStart="15dp"
android:background="@drawable/shape_dialog_notification_button_close"
android:text="@string/dialog_btn_close"
android:textColor="@color/colorAppTitle"
- android:textSize="32sp" />
+ android:textSize="30sp" />
<Button
android:id="@+id/dialog_bt_open"
- android:layout_width="120dp"
+ android:layout_width="100dp"
android:layout_height="60dp"
android:layout_below="@id/dialog_line"
android:layout_alignParentEnd="true"
android:background="@drawable/shape_dialog_notification_button_open"
android:text="@string/dialog_btn_open"
android:textColor="@color/colorAppTitle"
- android:textSize="32sp" />
+ android:textSize="30sp" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
- <TextView
+ <com.ic.ak.launcher.widget.MultiRowTextView
android:id="@+id/message_tips_id"
- style="@style/BaseTextStyle"
+ style="@style/BaseTextStyle"
android:textSize="28sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"/>
+ android:layout_marginStart="10dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginEnd="10dp"
+ android:ellipsize="end"
+ android:lines="2"
+ android:maxEms="10"/>
- <ImageView
- android:id="@+id/slip_bt_close"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_close_24"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.05"
- app:layout_constraintHorizontal_bias="0.95"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
- android:id="@+id/image_tips_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/low_power_battery"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.43" />
-
- <ImageView
- android:id="@+id/slip_bt_close"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_close_24"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.05"
- app:layout_constraintHorizontal_bias="0.95"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="50dp"/>
+</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
- android:id="@+id/image_tips_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_band_off"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.73" />
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="30dp"/>
- <ImageView
- android:id="@+id/slip_bt_close"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_close_24"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.05"
- app:layout_constraintHorizontal_bias="0.95"/>
+</RelativeLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
<resources>
<!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
+ <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:textSize">@dimen/app_title_text_size</item>
<item name="android:includeFontPadding">false</item>
</style>
-
- <style name="TipsDialog" parent="android:Theme.Holo.Light.Dialog">
- <item name="android:windowBackground">#000000</item>
- <item name="android:windowFrame">@null</item>
- <item name="android:backgroundDimEnabled">true</item>
- <item name="android:windowIsTranslucent">true</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowFullscreen">true</item>
- <item name="android:windowContentOverlay">@null</item>
- </style>
-
- <style name="NotificationDialog" parent="android:Theme.Holo.Light.Dialog">
- <item name="android:windowBackground">@drawable/shape_dialog_notification_bg</item>
- <item name="android:windowFrame">@null</item>
- <item name="android:backgroundDimEnabled">true</item>
- <item name="android:windowIsTranslucent">true</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowFullscreen">true</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:windowIsFloating">true</item>
- </style>
-
- <style name="DialogActivityStyle" parent="Theme.AppCompat.Light.NoActionBar">
- <item name="android:windowFullscreen">true</item>
- <item name="windowNoTitle">true</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:windowBackground">@android:color/transparent</item>
- <item name="android:colorBackgroundCacheHint">@null</item>
- <item name="android:windowIsTranslucent">true</item>
- <!-- Note that we use the base animation style here (that is no
- animations) because we really have no idea how this kind of
- activity will be used. -->
- <item name="android:windowAnimationStyle">@android:style/Animation</item>
- </style>
-
</resources>
\ No newline at end of file