From: TrillGates Date: Tue, 8 Jun 2021 07:07:57 +0000 (+0800) Subject: add a sport achievement tips for anan protocol. X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=6201597ad826d45effcb2c37ad0d480d8260af1c;p=protocol_srv.git add a sport achievement tips for anan protocol. --- diff --git a/app/src/main/java/com/ic/protocols/protocol_anan.java b/app/src/main/java/com/ic/protocols/protocol_anan.java index e1c4b837..7899f422 100644 --- a/app/src/main/java/com/ic/protocols/protocol_anan.java +++ b/app/src/main/java/com/ic/protocols/protocol_anan.java @@ -15,6 +15,9 @@ import android.os.Environment; import android.support.v4.app.ActivityCompat; import android.telephony.TelephonyManager; import android.text.TextUtils; +import android.view.Gravity; +import android.view.View; +import android.view.WindowManager; import com.enqualcomm.support.Config; import com.enqualcomm.support.Constants; @@ -35,11 +38,13 @@ import com.enqualcomm.support.service.HeartRateManager; import com.enqualcomm.support.utils.Connection; import com.enqualcomm.support.utils.ICLogger; import com.enqualcomm.support.utils.ProfileManager; +import com.enqualcomm.support.utils.SharePreferenceUtil; import com.enqualcomm.support.utils.TemperatureUtil; import com.enqualcomm.support.utils.TimeUtil; import com.enqualcomm.support.utils.Util; import java.io.File; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -479,6 +484,7 @@ public class protocol_anan { } private static int targetStep = -1; + private static boolean isAchieveShow = false; public static StringMessage AP03(Runtime ds) { //处理心跳数据的时候,处理一下运动目标是否达标,如果达表的,弹出一个窗,表扬一下。 @@ -502,13 +508,18 @@ public class protocol_anan { targetStep = 0; } } - ICLogger.d("target step == > " + targetStep); + ICLogger.d("target step == > " + targetStep + " current total step == > " + totalStepCount); //判断是否达标 if (totalStepCount >= targetStep) { - //弹窗提示 - ICLogger.d("今日运动目标已达成..."); - //TODO: - + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format = simpleDateFormat.format(new Date()); + String record = SharePreferenceUtil.getPrefString(ds.getContextProxy().context, + "show_sport_target_flag", ""); + if (!format.equals(record)) { + //弹窗提示 + ICLogger.d("今日运动目标已达成..."); + showLocalUpdateTips(ds.getContextProxy().context); + } } //示例数据:IWAP03,06000908000102,5555,30# IWAP03,000000null00000,0,0# return genStringMessage(cmdMap.get(CMD_TYPE.AP03), @@ -593,6 +604,42 @@ public class protocol_anan { return str; } + /** + * 展示本地安装和提示框 + */ + private static void showLocalUpdateTips(Context context) { + if (isAchieveShow) { + return; + } + WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); + layoutParams.gravity = Gravity.CENTER; + layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; + layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; + layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT; + layoutParams.alpha = 1.0f; + layoutParams.packageName = context.getPackageName(); + layoutParams.buttonBrightness = 1f; + layoutParams.windowAnimations = android.R.style.Animation_Dialog; + View view = View.inflate(context, R.layout.dialog_tips, null); + View okBtn = view.findViewById(R.id.button_ok); + okBtn.setOnClickListener(v -> { + if (manager != null) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + //今天已经展示过了。 + //今天的执法犯法 + SharePreferenceUtil.setPrefString(context, "show_sport_target_flag", + simpleDateFormat.format(new Date())); + isAchieveShow = false; + manager.removeView(view); + } + }); + if (manager != null) { + isAchieveShow = true; + manager.addView(view, layoutParams); + } + } + public static StringMessage genStringMessage(String cmdName, String msg) { StringMessage sm = new StringMessage(new String[]{cmdName, msg}); sm.refresh(msg); diff --git a/app/src/main/res/layout/dialog_tips.xml b/app/src/main/res/layout/dialog_tips.xml new file mode 100644 index 00000000..8b27874b --- /dev/null +++ b/app/src/main/res/layout/dialog_tips.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + +