From: kfl_614 Date: Fri, 30 Oct 2020 06:55:19 +0000 (+0800) Subject: AK\A9 Launcher modification Dialog X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=7f0c3329b69755477f7af7ed7304c3bbb57de772;p=aklauncher.git AK\A9 Launcher modification Dialog --- diff --git a/app/build.gradle b/app/build.gradle index 69ae875..3dea8f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 19 targetSdkVersion 29 versionCode 1 - versionName "1.0" + versionName "2.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -98,12 +98,12 @@ static def releaseTime() { 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" @@ -116,11 +116,13 @@ dependencies { // 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' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index decdb91..f55147b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,9 +20,6 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - mObsHardwareHeart; private MutableLiveData mObsHardwarePed; + public HardwareDispose() { mObsHardwareHeart = new MediatorLiveData<>(); mObsHardwarePed = new MediatorLiveData<>(); + } public MutableLiveData getObsHardwareHeart() { @@ -64,10 +68,9 @@ public class HardwareDispose { 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); } @@ -84,7 +87,6 @@ public class HardwareDispose { } if (product == 1002) { filter.addAction(STRIP_ACTION); - filter.addAction(ACTION_BATTERYLOW); } context.registerReceiver(mIntentReceiver, filter); @@ -119,24 +121,11 @@ public class HardwareDispose { 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; @@ -147,13 +136,11 @@ public class HardwareDispose { 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; } @@ -169,7 +156,7 @@ public class HardwareDispose { break; case ACTION_KEEPSIT_ALARM: IcLog.i(TAG, "alarm"); - startDialogActivity(context,1002,""); + EventBus.getDefault().post(new ShowDialogEvent(1002,0,null)); break; } } @@ -186,14 +173,4 @@ public class HardwareDispose { } 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); - } - } diff --git a/app/src/main/java/com/ic/ak/launcher/data/play/PlaySoundEvent.java b/app/src/main/java/com/ic/ak/launcher/data/play/PlaySoundEvent.java new file mode 100644 index 0000000..7db2513 --- /dev/null +++ b/app/src/main/java/com/ic/ak/launcher/data/play/PlaySoundEvent.java @@ -0,0 +1,9 @@ +package com.ic.ak.launcher.data.play; + +public class PlaySoundEvent { + public int key; + + public PlaySoundEvent(int key) { + this.key = key; + } +} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/DialogActivity.java b/app/src/main/java/com/ic/ak/launcher/ui/DialogActivity.java deleted file mode 100644 index 494f059..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/DialogActivity.java +++ /dev/null @@ -1,185 +0,0 @@ -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 diff --git a/app/src/main/java/com/ic/ak/launcher/ui/MainActivity.java b/app/src/main/java/com/ic/ak/launcher/ui/MainActivity.java index 102a1f8..38d5c9a 100644 --- a/app/src/main/java/com/ic/ak/launcher/ui/MainActivity.java +++ b/app/src/main/java/com/ic/ak/launcher/ui/MainActivity.java @@ -8,6 +8,8 @@ import androidx.viewpager2.widget.ViewPager2; 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; @@ -15,15 +17,19 @@ 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; @@ -44,6 +50,8 @@ public class MainActivity extends AppCompatActivity { private LauncherApp mApp; private SoundPlayUtils soundPlayUtils; + private AlertDialogManage dialogManage; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -69,14 +77,18 @@ public class MainActivity extends AppCompatActivity { 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 @@ -112,11 +124,41 @@ public class MainActivity extends AppCompatActivity { } @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; } } @@ -137,7 +179,7 @@ public class MainActivity extends AppCompatActivity { 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); @@ -170,7 +212,7 @@ public class MainActivity extends AppCompatActivity { } public static class SpacesItemDecoration extends RecyclerView.ItemDecoration { - private int space; + private final int space; public SpacesItemDecoration(int space) { this.space = space; @@ -183,4 +225,24 @@ public class MainActivity extends AppCompatActivity { outRect.left = space; } } + + private TestHandler handler; + + private static class TestHandler extends Handler{ + private WeakReference 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 diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/AlertDialogManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/AlertDialogManage.java new file mode 100644 index 0000000..0053ae7 --- /dev/null +++ b/app/src/main/java/com/ic/ak/launcher/ui/dialog/AlertDialogManage.java @@ -0,0 +1,243 @@ +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); + } + } +} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowFragment.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowFragment.java deleted file mode 100644 index 29d6298..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowFragment.java +++ /dev/null @@ -1,54 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowManage.java deleted file mode 100644 index 98780d4..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/BatteryLowManage.java +++ /dev/null @@ -1,50 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/DialogDismissEvent.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/DialogDismissEvent.java deleted file mode 100644 index b2c6d20..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/DialogDismissEvent.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.ic.ak.launcher.ui.dialog; - -public class DialogDismissEvent { - public int index; - - public DialogDismissEvent(int index) { - this.index = index; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogFragment.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogFragment.java deleted file mode 100644 index 8a6bb91..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogFragment.java +++ /dev/null @@ -1,117 +0,0 @@ -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); - } - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogManage.java deleted file mode 100644 index 5c21f72..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/NotificationDialogManage.java +++ /dev/null @@ -1,59 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryAlarmDialogFragment.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryAlarmDialogFragment.java deleted file mode 100644 index 0324aa8..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryAlarmDialogFragment.java +++ /dev/null @@ -1,54 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryDialogManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryDialogManage.java deleted file mode 100644 index 1d9ddfb..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SedentaryDialogManage.java +++ /dev/null @@ -1,50 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/ShowDialogEvent.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/ShowDialogEvent.java new file mode 100644 index 0000000..4c705df --- /dev/null +++ b/app/src/main/java/com/ic/ak/launcher/ui/dialog/ShowDialogEvent.java @@ -0,0 +1,13 @@ +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; + } +} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsFragment.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsFragment.java deleted file mode 100644 index 52000a0..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsFragment.java +++ /dev/null @@ -1,55 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsManage.java deleted file mode 100644 index 0c80bc6..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/SlipTipsManage.java +++ /dev/null @@ -1,50 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogFragment.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogFragment.java deleted file mode 100644 index 289e447..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogFragment.java +++ /dev/null @@ -1,67 +0,0 @@ -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; - } -} diff --git a/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogManage.java b/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogManage.java deleted file mode 100644 index 19013d9..0000000 --- a/app/src/main/java/com/ic/ak/launcher/ui/dialog/TextShowDialogManage.java +++ /dev/null @@ -1,50 +0,0 @@ -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; - } -} diff --git a/app/src/main/res/drawable/shape_alert_dialog_bg.xml b/app/src/main/res/drawable/shape_alert_dialog_bg.xml new file mode 100644 index 0000000..514ba52 --- /dev/null +++ b/app/src/main/res/drawable/shape_alert_dialog_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_black_alert_dialog_bg.xml b/app/src/main/res/drawable/shape_black_alert_dialog_bg.xml new file mode 100644 index 0000000..bdcf6bc --- /dev/null +++ b/app/src/main/res/drawable/shape_black_alert_dialog_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_sedentary_dialog_bg.xml b/app/src/main/res/drawable/shape_sedentary_dialog_bg.xml new file mode 100644 index 0000000..a73616e --- /dev/null +++ b/app/src/main/res/drawable/shape_sedentary_dialog_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_slip_alert_dialog_bg.xml b/app/src/main/res/drawable/shape_slip_alert_dialog_bg.xml new file mode 100644 index 0000000..0dd9a38 --- /dev/null +++ b/app/src/main/res/drawable/shape_slip_alert_dialog_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_notification.xml b/app/src/main/res/layout/dialog_notification.xml index f72a19e..3278199 100644 --- a/app/src/main/res/layout/dialog_notification.xml +++ b/app/src/main/res/layout/dialog_notification.xml @@ -35,7 +35,7 @@