From: kfl_614 Date: Sun, 28 Jun 2020 05:13:25 +0000 (+0800) Subject: 1.H88修改 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.js?a=commitdiff_plain;h=4c4bb3a949b4b0e26dba2b20ceecf097b3a43f2f;p=launcher4.git 1.H88修改 Signed-off-by: kfl_614 --- diff --git a/app/build.gradle b/app/build.gradle index 4eedf9a..97873d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { def currentVersionCode = getVersionCode() def currentVersionName = releaseTime() - def buildVersionType = 1 + def buildVersionType = 2 compileSdkVersion 29 buildToolsVersion "29.0.2" @@ -20,6 +20,13 @@ android { versionName "${currentVersionName}" } + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } + dataBinding { enabled = true } @@ -125,16 +132,17 @@ dependencies { // optional - ReactiveStreams support for LiveData implementation "androidx.lifecycle:lifecycle-reactivestreams:2.2.0" - //recyclerview - implementation "androidx.recyclerview:recyclerview:1.1.0" - implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0' - //1.2.0-alpha05 - implementation "com.google.android.material:material:1.2.0-alpha05" + implementation "com.google.android.material:material:1.3.0-alpha01" implementation 'com.google.zxing:core:3.4.0' 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 'org.greenrobot:eventbus:3.2.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 73eed28..d927c03 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ package="com.ic.launcher" android:sharedUserId="android.uid.system"> + @@ -21,6 +22,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> + @@ -29,7 +31,6 @@ - @@ -38,9 +39,9 @@ - - + diff --git a/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java b/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java new file mode 100644 index 0000000..5c7213a --- /dev/null +++ b/app/src/main/java/com/ic/launcher/AnimalHeatActivity.java @@ -0,0 +1,147 @@ +package com.ic.launcher; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.view.GestureDetectorCompat; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.widget.TextView; + +import com.ic.launcher.listener.MainClockGestureDetectorImpl; +import com.ic.launcher.util.IcLog; + +import java.lang.ref.WeakReference; +import java.text.DecimalFormat; + +public class AnimalHeatActivity extends AppCompatActivity implements + MainClockGestureDetectorImpl.OnClockGestureFlingListener{ + + private static final String GET_TEMPERATURE_ACTION = "com.ic.action.GET_TEMPERATURE"; + private static final String TEMPERATURE_KEY = "TEMPERATURE_KEY"; + private static final String TEMPERATURE_FINISH_ACTION = "com.ic.action.TEMPERATURE_FINISH"; + + private GestureDetectorCompat gesture; + + private TextView temperatureView; + + private HeatHandler heatHandler; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_animal_heat); + temperatureView = findViewById(R.id.temperature_value); + heatHandler = new HeatHandler(this); + gesture = new GestureDetectorCompat(this, new MainClockGestureDetectorImpl(this)); + registerBroadcast(); + sendTemperatureBroadcast(); + } + @Override + protected void onDestroy() { + super.onDestroy(); + heatHandler.removeMessages(1); + heatHandler=null; + unregisterReceiver(mIntentReceiver); + } + + @Override + public void onDirection(int flag) { + if (flag == 2) { + finish(); + } + } + + @Override + public void onDouble() { + + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (gesture.onTouchEvent(event)) { + return true; + } + return true; + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + // 禁用 KEYCODE_BACK 退出功能 + finish(); + } + return true; + } + + public void registerBroadcast() { + IntentFilter filter = new IntentFilter(); + filter.addAction(TEMPERATURE_FINISH_ACTION); + filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); + registerReceiver(mIntentReceiver, filter); + } + + private void sendTemperatureBroadcast() { + Intent pedIntent = new Intent(); + pedIntent.setAction(GET_TEMPERATURE_ACTION); + sendBroadcast(pedIntent); + } + + private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + if (intent != null) { + String acyion = intent.getAction(); + if (TextUtils.isEmpty(acyion)) { + return; + } + switch (acyion) { + case TEMPERATURE_FINISH_ACTION: + double temperature = intent.getDoubleExtra(TEMPERATURE_KEY,0); + DecimalFormat df = new DecimalFormat("#.0"); + temperatureView.setText(df.format(temperature)); + if(heatHandler != null){ + heatHandler.sendEmptyMessageDelayed(1,800); + } + break; + case Intent.ACTION_CLOSE_SYSTEM_DIALOGS: + String reason = intent.getStringExtra("reason"); + if ("homekey".equals(reason)) { + // 按下HOME健 + finish(); + } + break; + } + } + } + }; + + private static class HeatHandler extends Handler{ + private WeakReference weakRf; + + public HeatHandler(AnimalHeatActivity activity){ + weakRf = new WeakReference<>(activity); + } + + @Override + public void dispatchMessage(@NonNull Message msg) { + super.dispatchMessage(msg); + switch (msg.what){ + case 1: + IcLog.i("TSEEE","DDDDDDDDDD"); + weakRf.get().sendTemperatureBroadcast(); + break; + } + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/ic/launcher/IcLauncherApplication.java b/app/src/main/java/com/ic/launcher/IcLauncherApplication.java index 5d0b3d8..d42e775 100644 --- a/app/src/main/java/com/ic/launcher/IcLauncherApplication.java +++ b/app/src/main/java/com/ic/launcher/IcLauncherApplication.java @@ -1,6 +1,9 @@ package com.ic.launcher; import android.app.Application; +import android.content.res.Configuration; + +import androidx.annotation.NonNull; import com.ic.launcher.presenter.AppListPresenter; import com.ic.launcher.presenter.BatteryPresenter; @@ -54,4 +57,9 @@ public class IcLauncherApplication extends Application { public PhoneStatePresenter getPhonePresenter() { return phonePresenter; } + + @Override + public void onConfigurationChanged(@NonNull Configuration newConfig) { + super.onConfigurationChanged(newConfig); + } } diff --git a/app/src/main/java/com/ic/launcher/MainActivity.java b/app/src/main/java/com/ic/launcher/MainActivity.java index bfa024b..7dfebe4 100644 --- a/app/src/main/java/com/ic/launcher/MainActivity.java +++ b/app/src/main/java/com/ic/launcher/MainActivity.java @@ -1,7 +1,10 @@ package com.ic.launcher; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.ViewModelProvider; import android.app.Application; @@ -9,14 +12,17 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.res.Configuration; import android.os.Bundle; -import android.text.TextUtils; import android.view.KeyEvent; +import com.ic.launcher.fragment.dialog.ImageTipsFragment; import com.ic.launcher.fragment.LowPowerModeFragment; +import com.ic.launcher.fragment.dialog.SlipTipsFragment; import com.ic.launcher.listener.IChangeMainFragmentListener; import com.ic.launcher.listener.MainClockGestureDetectorImpl; import com.ic.launcher.mode.LowPowerModel; +import com.ic.launcher.presenter.BatteryPresenter; import com.ic.launcher.util.IcLog; import com.ic.launcher.util.ServiceUtil; import com.ic.launcher.util.SystemUtils; @@ -29,6 +35,7 @@ public class MainActivity extends AppCompatActivity implements private static final String TAG = "MainActivity"; private static final String SERVICE_PKG_NAME = "com.enqualcomm.support"; + private boolean isLowPower = false; private FragmentManage ftManage; @@ -36,6 +43,7 @@ public class MainActivity extends AppCompatActivity implements private boolean isChangeClock = false; private String lowBatteryValue; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -97,6 +105,12 @@ public class MainActivity extends AppCompatActivity implements return super.onKeyDown(keyCode, event); } + @Override + public void onConfigurationChanged(@NonNull Configuration newConfig) { + super.onConfigurationChanged(newConfig); + ((IcLauncherApplication) getApplication()).getTimeDatePresenter().analysisDataTimeValue(null); + ((IcLauncherApplication) getApplication()).getAppListPresenter().updateLanguageSystemApp(); + } private void startTestProtocol() { try { @@ -144,9 +158,18 @@ public class MainActivity extends AppCompatActivity implements lowBatteryValue = value; } + private static final String TXT_ACTION ="action.ic.srvPushTxt"; + private static final String TYPE_KEY ="msgType"; + private static final String MSG_KEY ="txtMsg"; + + private static final String STRIP_ACTION ="com.ic.ACTION_STRIP"; + private static final String EVENT_KEY ="eventID"; + private void registerChangeClockReceiver() { IntentFilter filter = new IntentFilter(); filter.addAction("com.ic.action.CHANGE_CLOCK"); + filter.addAction(TXT_ACTION); + filter.addAction(STRIP_ACTION); registerReceiver(mIntentReceiver, filter); } @@ -162,10 +185,85 @@ public class MainActivity extends AppCompatActivity implements @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if ("com.ic.action.CHANGE_CLOCK".equals(action)) { - isChangeClock = true; + switch (action){ + case TXT_ACTION: + int type = intent.getIntExtra(TYPE_KEY,-1); + String message = intent.getStringExtra(MSG_KEY); + if(type == 0 || type == 1){ + IcLauncherApplication app = (IcLauncherApplication)getApplication(); + BatteryPresenter batteryPresenter = app.getBatteryPresenter(); + switch (message){ + case "socializing": + batteryPresenter.playSoundIndex(5); + break; + case "high body temperature": + batteryPresenter.playSoundIndex(4); + break; + case "restricted area": + batteryPresenter.playSoundIndex(3); + break; + } + + showImageTipsDialog(message); + } + break; + case STRIP_ACTION: + int event = intent.getIntExtra(EVENT_KEY,-1); + switch (event) { + case 1: + showSlipTipsDialog(); + break; + case 0: + dismissSlipTipsDialog(); + break; + } + break; + case "com.ic.action.CHANGE_CLOCK": + isChangeClock = true; + break; } } }; + private void showImageTipsDialog(String message) { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + Fragment prev = getSupportFragmentManager().findFragmentByTag("ImageTips"); + if (prev != null) { + ft.remove(prev); + } + ft.addToBackStack(null); + + // Create and show the dialog. + DialogFragment newFragment = ImageTipsFragment.newInstance(message); + newFragment.show(ft, "ImageTips"); + } + + private void showSlipTipsDialog() { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + Fragment prev = getSupportFragmentManager().findFragmentByTag("SlipTips"); + if (prev != null) { + ft.remove(prev); + } + ft.addToBackStack(null); + + // Create and show the dialog. + DialogFragment newFragment = SlipTipsFragment.newInstance(); + newFragment.show(ft, "SlipTips"); + } + + private void dismissSlipTipsDialog() { + Fragment prev = getSupportFragmentManager().findFragmentByTag("SlipTips"); + if (prev != null) { + DialogFragment df = (DialogFragment) prev; + df.dismiss(); + } + } + + private void testMessageBroadcast() { + Intent intent = new Intent("action.ic.srvPushTxt"); + intent.putExtra("msgType", 1); //0 代表 server下发消息,1代表 SMS消息 + intent.putExtra("txtMsg", "high body temperature"); + sendBroadcast(intent); + } + } diff --git a/app/src/main/java/com/ic/launcher/adapter/AppInfoAdapter.java b/app/src/main/java/com/ic/launcher/adapter/AppInfoAdapter.java index 3c49af5..8befb3d 100644 --- a/app/src/main/java/com/ic/launcher/adapter/AppInfoAdapter.java +++ b/app/src/main/java/com/ic/launcher/adapter/AppInfoAdapter.java @@ -5,8 +5,10 @@ import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; +import com.ic.launcher.R; import com.ic.launcher.databinding.ItemAppLayoutBinding; import com.ic.launcher.entity.AppInfoEntity; import com.ic.launcher.listener.ICheckAppItemListener; @@ -68,6 +70,7 @@ public class AppInfoAdapter extends RecyclerView.Adapter mH88AppList = new ArrayList() { + { + + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_qr_code_h88, R.string.app_h88_qrcode, + "com.ic.launcher", "com.ic.launcher.QrCodeActivity")); + + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_temperature_h88, R.string.app_h88_temperature, + "com.ic.launcher", "com.ic.launcher.AnimalHeatActivity")); + //联系人 + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_contacts_l02, R.string.app_ContactName, + "com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.PhoneDirectoryActivity")); + //拨号 + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_dialer_l02, R.string.app_dialer, + "com.ic.dial", "com.ic.dial.MainActivity")); + //运动 + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_pedometer_l02, R.string.app_Sport, + "com.ic.hardware", "com.ic.hardware.PedometerActivity")); + //短信 + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_sms_l02, R.string.app_Sms, + "com.zmapp.sms", "com.zmapp.sms.MainActivity")); + + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_language_h88, R.string.app_h88_language, + "com.eqc.eqcguide", "com.eqc.eqcguide.MainActivity")); + //设置 + add(new AppInfoEntity(BACK_COLOUR, R.mipmap.icon_settings_l02, R.string.main_manu_settings, + "com.eqc.settings", "com.eqc.settings.MainActivity")); + } + }; } diff --git a/app/src/main/java/com/ic/launcher/entity/AppInfoEntity.java b/app/src/main/java/com/ic/launcher/entity/AppInfoEntity.java index 394197a..8ce0944 100644 --- a/app/src/main/java/com/ic/launcher/entity/AppInfoEntity.java +++ b/app/src/main/java/com/ic/launcher/entity/AppInfoEntity.java @@ -1,6 +1,9 @@ package com.ic.launcher.entity; -public class AppInfoEntity { +import android.os.Parcel; +import android.os.Parcelable; + +public class AppInfoEntity implements Parcelable { private int bgColor; private int appIconResId; private int appTitleResId; @@ -22,6 +25,40 @@ public class AppInfoEntity { this.activityName = activityName; } + public AppInfoEntity(Parcel p) { + this.bgColor = p.readInt(); + this.appIconResId = p.readInt(); + this.appTitleResId = p.readInt(); + this.packageName = p.readString(); + this.activityName = p.readString(); + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(bgColor); + dest.writeInt(appIconResId); + dest.writeInt(appTitleResId); + dest.writeString(packageName); + dest.writeString(activityName); + } + + public static final Parcelable.Creator CREATOR + = new Parcelable.Creator() { + public AppInfoEntity createFromParcel(Parcel in) { + return new AppInfoEntity(in); + } + + public AppInfoEntity[] newArray(int size) { + return new AppInfoEntity[size]; + } + }; + + public int getAppIconResId() { return appIconResId; } diff --git a/app/src/main/java/com/ic/launcher/fragment/L02MainFragment.java b/app/src/main/java/com/ic/launcher/fragment/L02MainFragment.java index 03cb64c..983e8bb 100644 --- a/app/src/main/java/com/ic/launcher/fragment/L02MainFragment.java +++ b/app/src/main/java/com/ic/launcher/fragment/L02MainFragment.java @@ -16,6 +16,7 @@ import com.ic.launcher.configure.l02.L02Icon; import com.ic.launcher.databinding.FragmentL02MainBinding; import com.ic.launcher.mode.BaseModel; import com.ic.launcher.mode.L02MainModel; +import com.ic.launcher.util.IcLog; import com.ic.launcher.util.SPUtils; @@ -166,6 +167,7 @@ public class L02MainFragment extends BaseFragment { } private void updateTimeValue(int[] value){ + IcLog.i("TEST","updateTimeValue"); mainBinding.setHourTen(value[0]); mainBinding.setHourBit(value[1]); mainBinding.setMinuteTen(value[2]); diff --git a/app/src/main/java/com/ic/launcher/fragment/dialog/ImageTipsFragment.java b/app/src/main/java/com/ic/launcher/fragment/dialog/ImageTipsFragment.java new file mode 100644 index 0000000..79239f8 --- /dev/null +++ b/app/src/main/java/com/ic/launcher/fragment/dialog/ImageTipsFragment.java @@ -0,0 +1,64 @@ +package com.ic.launcher.fragment.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.launcher.R; + + +public class ImageTipsFragment extends DialogFragment { + + private static final String ARG_PARAM1 = "param1"; + private String value; + + public static ImageTipsFragment newInstance(String param1) { + ImageTipsFragment fragment = new ImageTipsFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog); + if (getArguments() != null) { + value = getArguments().getString(ARG_PARAM1); + } + } + + @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_tips, container, false); + TextView textView = view.findViewById(R.id.image_tips_tv); + textView.setText(value); + ImageView image = view.findViewById(R.id.image_bt_close); + image.setOnClickListener(v ->{ + dismiss(); + }); + return view; + } +} diff --git a/app/src/main/java/com/ic/launcher/fragment/dialog/SlipTipsFragment.java b/app/src/main/java/com/ic/launcher/fragment/dialog/SlipTipsFragment.java new file mode 100644 index 0000000..de7f8f3 --- /dev/null +++ b/app/src/main/java/com/ic/launcher/fragment/dialog/SlipTipsFragment.java @@ -0,0 +1,60 @@ +package com.ic.launcher.fragment.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.launcher.R; + + +public class SlipTipsFragment extends DialogFragment { + + private static final String ARG_PARAM1 = "param1"; + private int type; + + public static SlipTipsFragment newInstance() { + SlipTipsFragment fragment = new SlipTipsFragment(); + Bundle args = new Bundle(); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setStyle(DialogFragment.STYLE_NORMAL, R.style.TipsDialog); + if (getArguments() != null) { + type = getArguments().getInt(ARG_PARAM1); + } + } + + @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 ->{ + dismiss(); + }); + return view; + } +} diff --git a/app/src/main/java/com/ic/launcher/presenter/AppListPresenter.java b/app/src/main/java/com/ic/launcher/presenter/AppListPresenter.java index 496a6f5..a5f3aa8 100644 --- a/app/src/main/java/com/ic/launcher/presenter/AppListPresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/AppListPresenter.java @@ -46,6 +46,10 @@ public class AppListPresenter{ return mObsAppState; } + public void updateLanguageSystemApp(){ + mObsAppInfoList.setValue(L02AppInfo.getAppList()); + } + public void updateSystemApp() { mObsAppInfoList.setValue(L02AppInfo.getAppList()); boolean[] state = new boolean[L02AppInfo.getAppList().size()]; diff --git a/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java b/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java index afde9d9..086e976 100644 --- a/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/BatteryPresenter.java @@ -258,4 +258,8 @@ public class BatteryPresenter extends PresenterCycle { arrayList.add("mobile.miki"); return arrayList.contains((((ActivityManager) paramContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningTasks(1).get(0)).topActivity.getPackageName()); } + + public void playSoundIndex(int index){ + playUtils.playKeyboardSound(mContext, index); + } } diff --git a/app/src/main/java/com/ic/launcher/presenter/TimeDatePresenter.java b/app/src/main/java/com/ic/launcher/presenter/TimeDatePresenter.java index 5639f57..85df0d2 100644 --- a/app/src/main/java/com/ic/launcher/presenter/TimeDatePresenter.java +++ b/app/src/main/java/com/ic/launcher/presenter/TimeDatePresenter.java @@ -32,7 +32,6 @@ public class TimeDatePresenter extends PresenterCycle { private static final String TAG = "TimeDatePresenter"; private static final DateTimeFormatter MMDD = DateTimeFormatter.ofPattern("MM-dd"); - private static final String[] WEEK_SRT = new String[7]; private MediatorLiveData mObsTime; private MediatorLiveData mObsYear; @@ -95,13 +94,6 @@ public class TimeDatePresenter extends PresenterCycle { IcLog.i(TAG, "TimeDatePresenter"); mContext = context; - WEEK_SRT[0] = context.getString(R.string.monday); - WEEK_SRT[1] = context.getString(R.string.tuesday); - WEEK_SRT[2] = context.getString(R.string.wednesday); - WEEK_SRT[3] = context.getString(R.string.thursday); - WEEK_SRT[4] = context.getString(R.string.friday); - WEEK_SRT[5] = context.getString(R.string.saturday); - WEEK_SRT[6] = context.getString(R.string.sunday); mObsTime = new MediatorLiveData<>(); mObsYear = new MediatorLiveData<>(); @@ -161,7 +153,7 @@ public class TimeDatePresenter extends PresenterCycle { } }; - private void analysisDataTimeValue(String z) { + public void analysisDataTimeValue(String z) { LocalDateTime currDateTime; @@ -182,29 +174,28 @@ public class TimeDatePresenter extends PresenterCycle { } private void computeMainClockTime(LocalDateTime localDateTime) { - mObsYear.setValue(localDateTime.format(MMDD)); switch (localDateTime.getDayOfWeek()){ case MONDAY: - mObsWeek.setValue(WEEK_SRT[0]); + mObsWeek.setValue(mContext.getString(R.string.monday)); break; case TUESDAY: - mObsWeek.setValue(WEEK_SRT[1]); + mObsWeek.setValue(mContext.getString(R.string.tuesday)); break; case WEDNESDAY: - mObsWeek.setValue(WEEK_SRT[2]); + mObsWeek.setValue(mContext.getString(R.string.wednesday)); break; case THURSDAY: - mObsWeek.setValue(WEEK_SRT[3]); + mObsWeek.setValue(mContext.getString(R.string.thursday)); break; case FRIDAY: - mObsWeek.setValue(WEEK_SRT[4]); + mObsWeek.setValue(mContext.getString(R.string.friday)); break; case SATURDAY: - mObsWeek.setValue(WEEK_SRT[5]); + mObsWeek.setValue(mContext.getString(R.string.saturday)); break; case SUNDAY: - mObsWeek.setValue(WEEK_SRT[6]); + mObsWeek.setValue(mContext.getString(R.string.sunday)); break; } diff --git a/app/src/main/java/com/ic/launcher/util/SoundPlayUtils.java b/app/src/main/java/com/ic/launcher/util/SoundPlayUtils.java index d890530..9f060c3 100644 --- a/app/src/main/java/com/ic/launcher/util/SoundPlayUtils.java +++ b/app/src/main/java/com/ic/launcher/util/SoundPlayUtils.java @@ -15,10 +15,13 @@ public class SoundPlayUtils { private SoundPool.OnLoadCompleteListener SoundLoadListener; private SparseArray soundID; - private static final int[] NUM_RAW= new int[]{ + private static final int[] NUM_RAW = new int[]{ R.raw.chrg_connect, R.raw.chrg_remove, - R.raw.chrg_complete}; + R.raw.chrg_complete, + R.raw.do_not_enter, + R.raw.goto_see_doctor, + R.raw.please_go_back_home}; public void init() { @@ -35,7 +38,7 @@ public class SoundPlayUtils { mSoundPlayer = null; } - public void playKeyboardSound(Context context,int key) { + public void playKeyboardSound(Context context, int key) { nowSoundNum = key; if (soundID.get(key) == null) { @@ -43,7 +46,7 @@ public class SoundPlayUtils { SoundLoadListener = (soundPool, sampleId, status) -> SaveSoundIDandPlay(sampleId); mSoundPlayer.setOnLoadCompleteListener(SoundLoadListener); } - mSoundPlayer.load(context,NUM_RAW[key],1); + mSoundPlayer.load(context, NUM_RAW[key], 1); } else { mSoundPlayer.play((Integer) soundID.get(key), 1, 1, 0, 0, 1); diff --git a/app/src/main/res/drawable/ic_alarm.xml b/app/src/main/res/drawable/ic_alarm.xml new file mode 100644 index 0000000..cc945a0 --- /dev/null +++ b/app/src/main/res/drawable/ic_alarm.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_close_24.xml b/app/src/main/res/drawable/ic_close_24.xml new file mode 100644 index 0000000..9c32beb --- /dev/null +++ b/app/src/main/res/drawable/ic_close_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_animal_heat.xml b/app/src/main/res/layout/activity_animal_heat.xml new file mode 100644 index 0000000..9fa5d51 --- /dev/null +++ b/app/src/main/res/layout/activity_animal_heat.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_image_slip.xml b/app/src/main/res/layout/fragment_image_slip.xml new file mode 100644 index 0000000..49319d7 --- /dev/null +++ b/app/src/main/res/layout/fragment_image_slip.xml @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/app/src/main/res/layout/fragment_image_tips.xml b/app/src/main/res/layout/fragment_image_tips.xml new file mode 100644 index 0000000..c48fe5b --- /dev/null +++ b/app/src/main/res/layout/fragment_image_tips.xml @@ -0,0 +1,44 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/item_app_layout.xml b/app/src/main/res/layout/item_app_layout.xml index 2845908..cebe8b6 100644 --- a/app/src/main/res/layout/item_app_layout.xml +++ b/app/src/main/res/layout/item_app_layout.xml @@ -35,8 +35,7 @@ android:layout_below="@id/app_icon_iv" android:layout_centerHorizontal="true" android:text="@{appTitle}" - android:textColor="#FFFFFF" - android:textSize="@dimen/app_list_name_text_size"/> + android:textColor="#FFFFFF"/> diff --git a/app/src/main/res/mipmap-ldpi/ic_band_off.png b/app/src/main/res/mipmap-ldpi/ic_band_off.png new file mode 100644 index 0000000..46c95dd Binary files /dev/null and b/app/src/main/res/mipmap-ldpi/ic_band_off.png differ diff --git a/app/src/main/res/mipmap-ldpi/ic_tips_sms.png b/app/src/main/res/mipmap-ldpi/ic_tips_sms.png new file mode 100644 index 0000000..72c58c3 Binary files /dev/null and b/app/src/main/res/mipmap-ldpi/ic_tips_sms.png differ diff --git a/app/src/main/res/mipmap-ldpi/icon_language_h88.png b/app/src/main/res/mipmap-ldpi/icon_language_h88.png new file mode 100644 index 0000000..cb3c0ff Binary files /dev/null and b/app/src/main/res/mipmap-ldpi/icon_language_h88.png differ diff --git a/app/src/main/res/mipmap-ldpi/icon_qr_code_h88.png b/app/src/main/res/mipmap-ldpi/icon_qr_code_h88.png new file mode 100644 index 0000000..8b4d224 Binary files /dev/null and b/app/src/main/res/mipmap-ldpi/icon_qr_code_h88.png differ diff --git a/app/src/main/res/mipmap-ldpi/icon_temperature_h88.png b/app/src/main/res/mipmap-ldpi/icon_temperature_h88.png new file mode 100644 index 0000000..4abd5fb Binary files /dev/null and b/app/src/main/res/mipmap-ldpi/icon_temperature_h88.png differ diff --git a/app/src/main/res/raw/do_not_enter.mp3 b/app/src/main/res/raw/do_not_enter.mp3 new file mode 100644 index 0000000..d01b8d9 Binary files /dev/null and b/app/src/main/res/raw/do_not_enter.mp3 differ diff --git a/app/src/main/res/raw/goto_see_doctor.mp3 b/app/src/main/res/raw/goto_see_doctor.mp3 new file mode 100644 index 0000000..c0703cd Binary files /dev/null and b/app/src/main/res/raw/goto_see_doctor.mp3 differ diff --git a/app/src/main/res/raw/please_go_back_home.mp3 b/app/src/main/res/raw/please_go_back_home.mp3 new file mode 100644 index 0000000..2be8ae7 Binary files /dev/null and b/app/src/main/res/raw/please_go_back_home.mp3 differ diff --git a/app/src/main/res/values-en/dimens.xml b/app/src/main/res/values-en/dimens.xml index 0ecd0ab..b2198e8 100644 --- a/app/src/main/res/values-en/dimens.xml +++ b/app/src/main/res/values-en/dimens.xml @@ -9,5 +9,5 @@ 26dp 42dp - 52sp + 62sp \ No newline at end of file diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 77de000..5b99737 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -5,6 +5,9 @@ Health failed to run Application ! + QR Code + TEMP + language Settings My Family diff --git a/app/src/main/res/values-th/dimens.xml b/app/src/main/res/values-th/dimens.xml new file mode 100644 index 0000000..112fe57 --- /dev/null +++ b/app/src/main/res/values-th/dimens.xml @@ -0,0 +1,13 @@ + + + + 48dp + + 26dp + 42dp + + 26dp + 42dp + + 42sp + \ No newline at end of file diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 9ddd05f..af8b2a1 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -58,8 +58,11 @@ ธีมนาฬิกา ธีม + รหัสสองมิติ + อุณหภูมิ + ภาษา - Dialer + โทร รายชื่อ โทร โทรผ่าน VoLTE @@ -121,11 +124,11 @@ Single icon Sorry, the program is abnormal and will quit! Please wait... - Mon - Tue - Wed - Thu - Fri - Sat - Sun + จันทร์ + อังคาร + พุธ + วันพฤหัสบดี + ศุกร์ + วันเสาร์ + อาทิตย์ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 57312a4..944ee06 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -47,6 +47,10 @@ 时钟主题 菜单背景 + 二维码 + 体温 + 语言 + 拨号 联系人 电话 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7220a70..a6c7882 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,6 +47,10 @@ 时钟主题 菜单背景 + 二维码 + 体温 + 语言 + 拨号 联系人 电话 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 55e31e6..e9b76f2 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -67,4 +67,14 @@ #FFFFFF false + + diff --git a/app/version_code.properties b/app/version_code.properties index c7ad18b..a132217 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Jun 23 15:04:37 CST 2020 -VERSION_CODE=55 +#Sun Jun 28 13:11:14 CST 2020 +VERSION_CODE=99