From 4801fa6f468394effa71989eff511897562a56e9 Mon Sep 17 00:00:00 2001 From: wutaian Date: Thu, 21 Mar 2019 15:46:03 +0800 Subject: [PATCH] 添加资源文件,类文件 --- C5/app/src/main/java/com/sunvote/xpadapp/server/BatteryReceiver.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ C5/app/src/main/java/com/sunvote/xpadapp/widget/StatusBarView.java | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C5/app/src/main/java/com/sunvote/xpadapp/widget/TimeThread.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C5/app/src/main/res/layout/status_icon_view.xml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C5/app/src/main/res/mipmap-hdpi/battery.png | Bin 0 -> 15782 bytes C5/app/src/main/res/mipmap-hdpi/battery_1.png | Bin 0 -> 15828 bytes C5/app/src/main/res/mipmap-hdpi/battery_2.png | Bin 0 -> 15827 bytes C5/app/src/main/res/mipmap-hdpi/battery_3.png | Bin 0 -> 15825 bytes C5/app/src/main/res/mipmap-hdpi/battery_4.png | Bin 0 -> 15788 bytes C5/app/src/main/res/mipmap-hdpi/signal.png | Bin 0 -> 16351 bytes C5/app/src/main/res/mipmap-hdpi/signal_1.png | Bin 0 -> 16519 bytes C5/app/src/main/res/mipmap-hdpi/signal_2.png | Bin 0 -> 16623 bytes C5/app/src/main/res/mipmap-hdpi/signal_3.png | Bin 0 -> 16624 bytes C5/app/src/main/res/mipmap-hdpi/signal_4.png | Bin 0 -> 16554 bytes C5/app/src/main/res/mipmap-hdpi/signal_5.png | Bin 0 -> 16117 bytes 15 files changed, 327 insertions(+), 0 deletions(-) create mode 100644 C5/app/src/main/java/com/sunvote/xpadapp/server/BatteryReceiver.java create mode 100644 C5/app/src/main/java/com/sunvote/xpadapp/widget/StatusBarView.java create mode 100644 C5/app/src/main/java/com/sunvote/xpadapp/widget/TimeThread.java create mode 100644 C5/app/src/main/res/layout/status_icon_view.xml create mode 100644 C5/app/src/main/res/mipmap-hdpi/battery.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/battery_1.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/battery_2.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/battery_3.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/battery_4.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal_1.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal_2.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal_3.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal_4.png create mode 100644 C5/app/src/main/res/mipmap-hdpi/signal_5.png diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/server/BatteryReceiver.java b/C5/app/src/main/java/com/sunvote/xpadapp/server/BatteryReceiver.java new file mode 100644 index 0000000..b6adce2 --- /dev/null +++ b/C5/app/src/main/java/com/sunvote/xpadapp/server/BatteryReceiver.java @@ -0,0 +1,48 @@ +package com.sunvote.xpadapp.server; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +public class BatteryReceiver extends BroadcastReceiver { + int mCurrentLevel = 0; + int m_total = 0; + String m_strPercent; + + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + if (action.equalsIgnoreCase(Intent.ACTION_BATTERY_CHANGED)) { + Log.i("james-fan", "get battery change broad"); + } + // mCurrentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); + //m_total = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1); + mCurrentLevel = intent.getExtras().getInt("level");// 获得当前电量 + m_total = intent.getExtras().getInt("scale");// 获得总电量 + int percent = mCurrentLevel * 100 / m_total; + m_strPercent = percent + "%"; + iReceiveData.onReceiveData(); + } + + public int getCurrentLevel() { + return mCurrentLevel; + } + + public int getTotal() { + return m_total; + } + + public String getBatteryPercent() { + return m_strPercent; + } + + private IReceiveData iReceiveData; + public void setOnReceiveResultData(IReceiveData receiveData){ + iReceiveData = receiveData; + } + + public interface IReceiveData{ + void onReceiveData(); + } +} \ No newline at end of file diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/widget/StatusBarView.java b/C5/app/src/main/java/com/sunvote/xpadapp/widget/StatusBarView.java new file mode 100644 index 0000000..66917c1 --- /dev/null +++ b/C5/app/src/main/java/com/sunvote/xpadapp/widget/StatusBarView.java @@ -0,0 +1,130 @@ +package com.sunvote.xpadapp.widget; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +import com.sunvote.statusbar.view.BarItem; +import com.sunvote.xpadapp.R; + +public class StatusBarView extends LinearLayout { + Context mContext; + //信号图标,基站编号,CH,终端ID,电池电量图标,系统时间 + BarItem barSignal,barBasestation,barCh,barTerminalId,barBattery,barSystemtime; + + public StatusBarView(Context context) { + this(context, null); + } + + public StatusBarView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + View view; + @SuppressLint("NewApi") + public StatusBarView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(context, attrs, defStyle); + } + + private void init(Context ctx, AttributeSet attrs, int defStyle){ + mContext=ctx; + LayoutInflater ll = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); + view = ll.inflate(R.layout.status_icon_view, null); + view.setLayoutParams(lp); + + barSignal = (BarItem)view.findViewById(R.id.bar_signal); + barBasestation = (BarItem) view.findViewById(R.id.bar_basestation); + barCh = (BarItem) view.findViewById(R.id.bar_ch); + barTerminalId = (BarItem) view.findViewById(R.id.bar_terminalId); + barBattery = (BarItem) view.findViewById(R.id.bar_battery); + barSystemtime = (BarItem) view.findViewById(R.id.bar_systemtime); + addView(view); + } + + public void setBackgroundColor(int color){ + view.setBackgroundColor(color); + } + /** + * 设置信号图标 + * @param rssi + */ + public void setStatusSignal(int rssi){ + barSignal.setIcon(R.mipmap.signal); + if (rssi < 95){ + barSignal.setIcon(R.mipmap.signal_1); + } + if (rssi < 85){ + barSignal.setIcon(R.mipmap.signal_2); + } + if (rssi < 75) { + barSignal.setIcon(R.mipmap.signal_3); + } + if (rssi < 65) { + barSignal.setIcon(R.mipmap.signal_4); + } + if (rssi < 55) { + barSignal.setIcon(R.mipmap.signal_5); + } + } + + /** + * 设置基站编号 + * @param value + */ + public void setStatusBarBaseId(int value){ + barBasestation.setText(String.format("基站编号:%s",value+"")); + } + + /** + * 设置CH + * @param value + */ + public void setStatusCH(int value){ + barCh.setText(String.format("CH:%s",value)); + } + + /** + * 设置终端编号 + * @param value + */ + public void setStatusKeyId(int value){ + barTerminalId.setText(String.format("终端编号:%s",value)); + } + + /** + * 设置电量 + * @param battery + */ + public void setStatusBattery(int battery, String BatteryPercent){ + if(battery > 0 && battery <= 10){ + barBattery.setIcon(R.mipmap.battery); + }else if(battery > 10 && battery <= 40){ + barBattery.setIcon(R.mipmap.battery_1); + }else if(battery > 40 && battery <= 60){ + barBattery.setIcon(R.mipmap.battery_2); + }else if(battery > 60 && battery <= 80){ + barBattery.setIcon(R.mipmap.battery_3); + }else if(battery > 80 && battery <= 100){ + barBattery.setIcon(R.mipmap.battery_4); + }else{ + barBattery.setIcon(R.mipmap.battery); + } + barBattery.setText(BatteryPercent); + } + + /** + * 返回时间控件 + * @param + */ + public BarItem getTimeCtl(){ + return barSystemtime; + } +} diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/widget/TimeThread.java b/C5/app/src/main/java/com/sunvote/xpadapp/widget/TimeThread.java new file mode 100644 index 0000000..c2b794d --- /dev/null +++ b/C5/app/src/main/java/com/sunvote/xpadapp/widget/TimeThread.java @@ -0,0 +1,85 @@ +package com.sunvote.xpadapp.widget; +import android.os.Handler; +import android.os.Message; +import android.widget.TextView; + +import com.sunvote.statusbar.view.BarItem; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +/** + * Copyright: Copyright (c) 2018-2025 + * Class: 实时更新时间的线程 + * + * @author: + * @date: 2018/11/21 + * describe: + */ +public class TimeThread extends Thread { + public BarItem tvDate; + private int msgKey1 = 22; + + public TimeThread(BarItem tvDate) { + this.tvDate = tvDate; + } + + @Override + public void run() { + do { + try { + Thread.sleep(1000); + Message msg = new Message(); + msg.what = msgKey1; + mHandler.sendMessage(msg); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } while (true); + } + + private Handler mHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + switch (msg.what) { + case 22: + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + String date = sdf.format(new Date()); + tvDate.setText(date + getWeek()); + break; + + default: + break; + } + } + }; + + /** + * 获取今天星期几 + * @return + */ + public static String getWeek() { + Calendar cal = Calendar.getInstance(); + int i = cal.get(Calendar.DAY_OF_WEEK); + switch (i) { + case 1: + return "周日"; + case 2: + return "周一"; + case 3: + return "周二"; + case 4: + return "周三"; + case 5: + return "周四"; + case 6: + return "周五"; + case 7: + return "周六"; + default: + return ""; + } + } +} diff --git a/C5/app/src/main/res/layout/status_icon_view.xml b/C5/app/src/main/res/layout/status_icon_view.xml new file mode 100644 index 0000000..3866dd1 --- /dev/null +++ b/C5/app/src/main/res/layout/status_icon_view.xml @@ -0,0 +1,64 @@ + + + + + + + + + diff --git a/C5/app/src/main/res/mipmap-hdpi/battery.png b/C5/app/src/main/res/mipmap-hdpi/battery.png new file mode 100644 index 0000000..7548ccf Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/battery.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/battery_1.png b/C5/app/src/main/res/mipmap-hdpi/battery_1.png new file mode 100644 index 0000000..e8dde60 Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/battery_1.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/battery_2.png b/C5/app/src/main/res/mipmap-hdpi/battery_2.png new file mode 100644 index 0000000..9947b43 Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/battery_2.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/battery_3.png b/C5/app/src/main/res/mipmap-hdpi/battery_3.png new file mode 100644 index 0000000..a54991f Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/battery_3.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/battery_4.png b/C5/app/src/main/res/mipmap-hdpi/battery_4.png new file mode 100644 index 0000000..bdba7db Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/battery_4.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal.png b/C5/app/src/main/res/mipmap-hdpi/signal.png new file mode 100644 index 0000000..1c66186 Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal_1.png b/C5/app/src/main/res/mipmap-hdpi/signal_1.png new file mode 100644 index 0000000..04907ec Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal_1.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal_2.png b/C5/app/src/main/res/mipmap-hdpi/signal_2.png new file mode 100644 index 0000000..95936af Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal_2.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal_3.png b/C5/app/src/main/res/mipmap-hdpi/signal_3.png new file mode 100644 index 0000000..c920f03 Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal_3.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal_4.png b/C5/app/src/main/res/mipmap-hdpi/signal_4.png new file mode 100644 index 0000000..e6db36e Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal_4.png differ diff --git a/C5/app/src/main/res/mipmap-hdpi/signal_5.png b/C5/app/src/main/res/mipmap-hdpi/signal_5.png new file mode 100644 index 0000000..69efd8a Binary files /dev/null and b/C5/app/src/main/res/mipmap-hdpi/signal_5.png differ -- libgit2 0.21.4