-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":58,"versionName":"202012212129","enabled":true,"outputFile":"FactoryMode_V58_202012212129_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V58_202012212129_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":59,"versionName":"202012231702","enabled":true,"outputFile":"FactoryMode_V59_202012231702_release.apk","fullName":"release","baseName":"release"},"path":"FactoryMode_V59_202012231702_release.apk","properties":{}}]
\ No newline at end of file
ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值
windowLayoutParams.width = 170;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95
windowLayoutParams.height = 170;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6
- }else if(FTUtils.isV20() || FTUtils.isGT09()){
- Display display = getWindowManager().getDefaultDisplay(); // 为获取屏幕宽、高
- Window window = getWindow();
- ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值
- windowLayoutParams.width = 280;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95
- windowLayoutParams.height = 280;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6
}
+// else if(FTUtils.isV20() || FTUtils.isGT09()){
+// Display display = getWindowManager().getDefaultDisplay(); // 为获取屏幕宽、高
+// Window window = getWindow();
+// ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值
+// windowLayoutParams.width = 280;//(int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95
+// windowLayoutParams.height = 280;//(int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6
+// }
}
@Override
private Timer timer;
final LocationSnrAdapter adapter = new LocationSnrAdapter(testSnrEntriyDate(null));
private final String ttyDialogPort="/dev/ttyGS3";
+ private ArrayList<String> nmeaBuffer=new ArrayList<>();
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if(FTUtils.isGT09()){
+ if(FTUtils.isGT09()) {
setContentView(R.layout.gps_full_test_activity_280);
+ }else if (FTUtils.isL05()){
+ setContentView(R.layout.gps_full_test_activity_96);
}else {
setContentView(R.layout.gps_full_test_activity);
}
mHoop = (TextView)findViewById(R.id.ic_lc_hoop_value);
mSearchCount= (TextView)findViewById(R.id.ic_lc_searchCount_value);
mRv.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
-
- mRv.addItemDecoration(new SpacesItemDecoration(10));
+ if (FTUtils.isL05()) {
+ mRv.addItemDecoration(new SpacesItemDecoration(5));
+ }else{
+ mRv.addItemDecoration(new SpacesItemDecoration(10));
+ }
mRv.setAdapter(adapter);
mFix.setText("notFixed");
mHoop.setTextSize(15);
mSearchCount.setTextSize(15);
}
+
startListen();
}
gps_status_show.numSatelliteList.add(i, new GpsSatellitePriv(gps_status.numSatelliteList.get(i).prn,gps_status.numSatelliteList.get(i).snr));
}
- mHandler.sendEmptyMessage(0);
+ mHandler.sendEmptyMessage(0);
}
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
List<GpsSatellitePriv> gpslist =gps_status_show.numSatelliteList;
adapter.updateLocationValue(testSnrEntriyDate(gpslist));
- String fixed=new StringBuilder().append(gps_status_show.locating_status>0?
- "Fixed ":"notFixed ").append(getLocalTime2()).toString();
- String satlites=new StringBuilder("used ").append(gps_status_show.used_gps_numbs).append(" in ")
- .append(gps_status_show.numSatelliteList.size()).append("/ inMap ").append(gps_status_show.satlite_numbss).toString();
+ StringBuilder strfixed=new StringBuilder();
+ StringBuffer satlites=new StringBuffer();
+
+// if(!FTUtils.isL05()){
+ strfixed.append(gps_status_show.locating_status>0?
+ "Fixed ":"notFixed ").append(getLocalTime2()).toString();
+ satlites.append("used ").append(gps_status_show.used_gps_numbs).append(" in ")
+ .append(gps_status_show.numSatelliteList.size()).append("/ inMap ").append(gps_status_show.satlite_numbss).toString();
+
+// }else{
+// strfixed.append(gps_status_show.locating_status>0?
+// "Fixed ":"notFixed ");
+// }
String locationTime=new StringBuilder().append(gps_status_show.search_time_cost).append(" ").append(getResources().getString(R.string.seconds)).toString();
String hdop=new StringBuilder().append(String.valueOf(gps_status_show.hdop)).append(" ").append(getResources().getString(R.string.meter)).toString();
- mFix.setText(fixed);
+ mFix.setText(strfixed.toString());
if (mFix.getText().toString().contains("notFixed")){
mFix.setBackgroundColor(Color.RED);
mFix.setTextColor(Color.WHITE);
mFix.setBackgroundColor(Color.GREEN);
mFix.setTextColor(Color.BLACK);
}
- mStar.setText(satlites);
+ mStar.setText(satlites.toString());
mHoop.setText(hdop);
mSearchCount.setText(locationTime);
myGpsListener gpsListener=new myGpsListener();
private boolean listening=false;
public boolean startListen() {
- if(FTUtils.isGT09())
- {
+ if(FTUtils.isGT09()) {
enableAG3335M(true);
return true;
}else{
+
+ if(FTUtils.isL05()) {
+ doTranseDataToTTYGS3(true);
+ }
if (this.listening == false) {
Settings.Secure.setLocationProviderEnabled(this.getContentResolver(), GPS_PROVIDER, true);
}
+
public static ExecutorService executor= Executors.newCachedThreadPool();
public static Future trans=null;
static volatile boolean serial_thread_running=false;
public final String GPS_SERIAL_DEVICE = "/dev/ttyS2";
public final String USB_SERIAL_DEVICE = "/dev/ttyGS3";
+ public void doTranseDataToTTYGS3(boolean enable){
+
+
+// if(enable==true) {
+//
+// //create thread reading GPS data and send to USB SerialPort named " SPRD WCN DIAG "
+// //you can get GPS NMEA data in this thread
+// if(serial_thread_running==false) {
+// if (trans==null) {
+// trans = executor.submit(thransferGPSdata);
+// }else if ( trans.isDone() || trans.isCancelled()){
+// trans = executor.submit(thransferGPSdata);
+// }
+// }
+//
+// }else {
+// serial_thread_running = false;
+// trans.cancel(true);
+// }
+ }
public void enableAG3335M(boolean enable){
if(enable==true) {
//you can get GPS NMEA data in this thread
if(serial_thread_running==false) {
if (trans==null) {
- trans = executor.submit(thransferGPSdata);
+ trans = executor.submit(receiveGPSdata);
}else if ( trans.isDone() || trans.isCancelled()){
- trans = executor.submit(thransferGPSdata);
+ trans = executor.submit(receiveGPSdata);
}
}
}
public Runnable thransferGPSdata=new Runnable() {
+ @Override
+ public void run() {
+ FileOutputStream fo=null;
+ Log.i("trans","ttyGS3 start");
+ serial_thread_running=true;
+ if(fo==null) {
+ try {
+ fo=new FileOutputStream(new File(USB_SERIAL_DEVICE));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+
+ while (serial_thread_running){
+ if(fo!=null){
+ try {
+
+ if(nmeaBuffer.size()>0 ){
+ String tmp=nmeaBuffer.get(0);
+ nmeaBuffer.remove(0);
+ fo.write(tmp.getBytes(),0,tmp.length());
+
+ }else{
+ Thread.sleep(500);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }else{
+ break;
+ }
+ }
+ try {
+ fo.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }finally {
+ fo=null;
+ }
+
+
+
+ Log.i("trans","ttyGS3 done");
+ }
+ };
+ public Runnable receiveGPSdata=new Runnable() {
+
@Override
public void run() {
FileInputStream fs=null;
byte[] buf=new byte[4096];
int l=0;
+ StringBuffer sb=new StringBuffer();
while (serial_thread_running){
if(fs!=null){
try {
int idx=list[i].indexOf("*");
if(idx>0 && list[i].startsWith("$")) {
mOnNmeaReceived(list[i].length(), list[i].substring(0,idx));
+ }else{
+ sb.append(list[i]);
+ String tmp=sb.toString();
+ int st=tmp.indexOf("$");
+ int ed=tmp.indexOf("*");
+ if(ed>0&& st>0 && ed>st){
+ String nmeastr=tmp.substring(st,ed);
+ mOnNmeaReceived(nmeastr.length(), nmeastr);
+ sb.replace(0,ed,"");
+ }
}
}
}else{
}
+
Log.i("trans","ttyS2 done");
}
};
private static String ACTION_GPSCMD="com.enqualcomm.support.gps";
public void stopListen() {
- if(FTUtils.isGT09())
- {
+ if(FTUtils.isGT09()) {
enableAG3335M(false);
}else {
+ if(FTUtils.isL05()) {
+ doTranseDataToTTYGS3(false);
+ }
this.locationManager.removeNmeaListener(gpsListener);
this.locationManager.removeUpdates(gpsListener);
this.listening = false;
Logger.d("stopListen 定位 ");
-
Settings.Secure.setLocationProviderEnabled(this.getContentResolver(), GPS_PROVIDER, false);
sendBroadcast();
}
// EqcAlgorithmNative.native_EqcAlgorithmMethod5(paramString);
Logger.d("Nmea :"+nmeastr+" "+paramLong);
//write_nmea_to_tty(nmeastr);
+
+ if(FTUtils.isL05())
+ {
+ if(nmeaBuffer.size()>100){
+ nmeaBuffer.remove(0);
+ }
+ nmeaBuffer.add(nmeastr);
+ }
if(nmeastr.startsWith("$RD_RSSI") ||nmeastr.startsWith("$GNGGA")) {
searchCout++;
-package mobile.miki;\r
-\r
-import android.support.annotation.NonNull;\r
-import android.support.v7.widget.RecyclerView;\r
-import android.view.LayoutInflater;\r
-import android.view.View;\r
-import android.view.ViewGroup;\r
-\r
-import java.util.ArrayList;\r
-\r
-public class LocationSnrAdapter extends RecyclerView.Adapter<LocationSnrAdapter.SnrHolder> {\r
-\r
-\r
- private ArrayList<SnrEntriy> mSnrList = new ArrayList<>();\r
-\r
- public LocationSnrAdapter(ArrayList<SnrEntriy> mSnrList) {\r
- this.mSnrList = mSnrList;\r
- }\r
-\r
- public void updateLocationValue(ArrayList<SnrEntriy> snrEntriys){\r
- mSnrList.clear();\r
- mSnrList.addAll(snrEntriys);\r
- notifyDataSetChanged();\r
- }\r
-\r
- @NonNull\r
- @Override\r
- public SnrHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {\r
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_snr_layout, parent, false);\r
- return new SnrHolder(view);\r
- }\r
-\r
- @Override\r
- public void onBindViewHolder(@NonNull SnrHolder holder, int position) {\r
- holder.updateSnrValue(mSnrList.get(position));\r
- }\r
-\r
- @Override\r
- public int getItemCount() {\r
- return mSnrList.size();\r
- }\r
-\r
- static class SnrHolder extends RecyclerView.ViewHolder {\r
-\r
- private SnrHistogramView snrView;\r
-\r
- public SnrHolder(@NonNull View itemView) {\r
- super(itemView);\r
- snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view);\r
- }\r
-\r
-\r
- public void updateSnrValue(SnrEntriy entriy){\r
- snrView.updateValue(entriy.getSnrValue(),entriy.getSnrNumber(),entriy.getSnrBg());\r
- }\r
-\r
- }\r
-}\r
+package mobile.miki;
+
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+
+import mobile.miki.util.FTUtils;
+
+public class LocationSnrAdapter extends RecyclerView.Adapter<LocationSnrAdapter.SnrHolder> {
+
+
+ private ArrayList<SnrEntriy> mSnrList = new ArrayList<>();
+
+ public LocationSnrAdapter(ArrayList<SnrEntriy> mSnrList) {
+ this.mSnrList = mSnrList;
+ }
+
+ public void updateLocationValue(ArrayList<SnrEntriy> snrEntriys){
+ mSnrList.clear();
+ mSnrList.addAll(snrEntriys);
+ notifyDataSetChanged();
+ }
+
+ @NonNull
+ @Override
+ public SnrHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view;
+ if(FTUtils.isL05()){
+ view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_snr_layout_96, parent, false);
+ }else{
+ view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_snr_layout, parent, false);
+ }
+ return new SnrHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull SnrHolder holder, int position) {
+ holder.updateSnrValue(mSnrList.get(position));
+ }
+
+ @Override
+ public int getItemCount() {
+ return mSnrList.size();
+ }
+
+ static class SnrHolder extends RecyclerView.ViewHolder {
+
+ private SnrHistogramView snrView;
+
+ public SnrHolder(@NonNull View itemView) {
+ super(itemView);
+
+ if(FTUtils.isL05()){
+ snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view_96);
+ }else{
+ snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view);
+ }
+
+ }
+
+
+ public void updateSnrValue(SnrEntriy entriy){
+ snrView.updateValue(entriy.getSnrValue(),entriy.getSnrNumber(),entriy.getSnrBg());
+ }
+
+ }
+}
import java.util.List;
import mobile.miki.util.CrashHandler;
+import mobile.miki.util.FTUtils;
+import mobile.miki.util.TypeFaceUtil;
public class MyApplication extends Application {
public List<Activity> activitys = null;
// TODO Auto-generated method stub
super.onCreate();
// initFileDownLoad();
+
+ if(FTUtils.isL05()) {
+ TypeFaceUtil.replaceSystemDefaultFont(this, "font/NotoSansHans-Medium.otf");
+ }
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext());
}
public MyApplication() {
activitys = new LinkedList<Activity>();
-
}
private void initFileDownLoad() {
mTextPaint.setDither(true);
mTextPaint.setColor(Color.WHITE);
mTextPaint.setStyle(Paint.Style.FILL);
- if(FTUtils.isGT09()){
+ if(FTUtils.isGT09()) {
mTextPaint.setTextSize(spToPx(12));
+ }else if(FTUtils.isL05()){
+ mTextPaint.setTextSize(spToPx(10));
}else {
mTextPaint.setTextSize(spToPx(24));
}
if (FTUtils.isA9()){
mDisplayHeight = 170;
mDisplayWidth = 170;
- }else if(FTUtils.isV20()|| FTUtils.isGT09()) {
- mDisplayHeight = 280;
- mDisplayWidth = 280;
+// }else if(FTUtils.isV20()|| FTUtils.isGT09()) {
+// mDisplayHeight = 280;
+// mDisplayWidth = 280;
}else {
mDisplayHeight = myDisplay.getHeight();
mDisplayWidth = myDisplay.getWidth();
public static String getBtAddressViaReflection() {
return BluetoothAdapter.getDefaultAdapter().getAddress();
}
-
+ public static boolean isL05() {
+ if(SystemProperties.get("persist.sys.id_num","").equalsIgnoreCase("l05"))
+ {
+ return true;
+ }
+ return false;
+ }
public static boolean isS06() {
// if (SystemProperties.get("ro.product.brand", "").equalsIgnoreCase("SPRD") && SystemProperties.get("ro.build.version.release", "").equalsIgnoreCase("8.1.0")) {
// return true;
--- /dev/null
+package mobile.miki.util;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Typeface;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+
+import java.lang.reflect.Field;
+
+/**
+ * @author liyanmei
+ * @date 2019/6/25
+ * @describe
+ */
+public class TypeFaceUtil {
+ /**
+ * 为给定的字符串添加HTML红色标记,当使用Html.fromHtml()方式显示到TextView 的时候其将是红色的
+ *
+ * @param string 给定的字符串
+ * @return
+ */
+ public static String addHtmlRedFlag(String string) {
+ return "<font color=\"red\">" + string + "</font>";
+ }
+
+ /**
+ * 将给定的字符串中所有给定的关键字标红
+ *
+ * @param sourceString 给定的字符串
+ * @param keyword 给定的关键字
+ * @return 返回的是带Html标签的字符串,在使用时要通过Html.fromHtml()转换为Spanned对象再传递给TextView对象
+ */
+ public static String keywordMadeRed(String sourceString, String keyword) {
+ String result = "";
+ if (sourceString != null && !"".equals(sourceString.trim())) {
+ if (keyword != null && !"".equals(keyword.trim())) {
+ result = sourceString.replaceAll(keyword, "<font color=\"red\">" + keyword + "</font>");
+ } else {
+ result = sourceString;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * <p>Replace the font of specified view and it's children</p>
+ *
+ * @param root The root view.
+ * @param fontPath font file path relative to 'assets' directory.
+ */
+ public static void replaceFont( View root, String fontPath) {
+ if (root == null || TextUtils.isEmpty(fontPath)) {
+ return;
+ }
+
+
+ if (root instanceof TextView) { // If view is TextView or it's subclass, replace it's font
+ TextView textView = (TextView) root;
+ int style = Typeface.NORMAL;
+ if (textView.getTypeface() != null) {
+ style = textView.getTypeface().getStyle();
+ }
+ textView.setTypeface(createTypeface(root.getContext(), fontPath), style);
+ } else if (root instanceof ViewGroup) { // If view is ViewGroup, apply this method on it's child views
+ ViewGroup viewGroup = (ViewGroup) root;
+ for (int i = 0; i < viewGroup.getChildCount(); ++i) {
+ replaceFont(viewGroup.getChildAt(i), fontPath);
+ }
+ }
+ }
+
+ /**
+ * <p>Replace the font of specified view and it's children</p>
+ * 通过递归批量替换某个View及其子View的字体改变Activity内部控件的字体(TextView,Button,EditText,CheckBox,RadioButton等)
+ *
+ * @param context The view corresponding to the activity.
+ * @param fontPath font file path relative to 'assets' directory.
+ */
+ public static void replaceFont( Activity context, String fontPath) {
+ replaceFont(getRootView(context), fontPath);
+ }
+
+
+ /*
+ * Create a Typeface instance with your font file
+ */
+ public static Typeface createTypeface(Context context, String fontPath) {
+ return Typeface.createFromAsset(context.getAssets(), fontPath);
+ }
+
+ /**
+ * 从Activity 获取 rootView 根节点
+ *
+ * @param context
+ * @return 当前activity布局的根节点
+ */
+ public static View getRootView(Activity context) {
+ return ((ViewGroup) context.findViewById(android.R.id.content)).getChildAt(0);
+ }
+
+ /**
+ * 通过改变App的系统字体替换App内部所有控件的字体(TextView,Button,EditText,CheckBox,RadioButton等)
+ *
+ * @param context
+ * @param fontPath 需要修改style样式为monospace:
+ */
+// <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+// <!-- Customize your theme here. -->
+// <!-- Set system default typeface -->
+// <item name="android:typeface">monospace</item>
+// </style>
+ public static void replaceSystemDefaultFont( Context context, String fontPath) {
+ replaceTypefaceField("MONOSPACE", createTypeface(context, fontPath));
+ }
+
+ /**
+ * <p>Replace field in class Typeface with reflection.</p>
+ */
+ private static void replaceTypefaceField(String fieldName, Object value) {
+ try {
+ Field defaultField = Typeface.class.getDeclaredField(fieldName);
+ defaultField.setAccessible(true);
+ defaultField.set(null, value);
+ } catch (NoSuchFieldException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".GPSActivity"
+ android:background="@color/colorIcBg">
+
+ <TextView
+ android:id="@+id/ic_lc_fix_name"
+ style="@style/IcTextStyle96"
+ android:text="@string/gps_full_title"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_fix_value"
+ style="@style/IcTextStyle96"
+ android:layout_marginStart="5dp"
+ android:layout_toEndOf="@id/ic_lc_fix_name"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_star_name"
+ style="@style/IcTextStyle96"
+ android:layout_below="@id/ic_lc_fix_name"
+ android:text="@string/gps_star_count"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_star_value"
+ style="@style/IcTextStyle96"
+ android:layout_below="@id/ic_lc_fix_name"
+ android:layout_marginStart="5dp"
+ android:layout_toEndOf="@id/ic_lc_star_name"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_hoop_name"
+ style="@style/IcTextStyle96"
+ android:layout_below="@id/ic_lc_star_name"
+ android:text="@string/gps_dop"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_hoop_value"
+ style="@style/IcTextStyle96"
+ android:layout_below="@id/ic_lc_star_name"
+ android:layout_marginStart="5dp"
+ android:layout_toEndOf="@id/ic_lc_hoop_name"
+ android:textSize="10sp" />
+
+
+
+ <TextView
+ android:id="@+id/ic_lc_searchCount"
+ style="@style/IcTextStyle96"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/ic_lc_hoop_name"
+ android:text="@string/gps_scan_time"
+ android:textSize="10sp" />
+
+ <TextView
+ android:id="@+id/ic_lc_searchCount_value"
+ style="@style/IcTextStyle96"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/ic_lc_hoop_name"
+ android:layout_marginStart="5dp"
+ android:layout_toEndOf="@id/ic_lc_searchCount"
+ android:textSize="10sp" />
+ <android.support.v7.widget.RecyclerView
+ android:id="@+id/app_list"
+ android:layout_below="@id/ic_lc_searchCount"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<mobile.miki.SnrHistogramView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/item_snr_view_96"
+ android:layout_width="15sp"
+ android:layout_height="match_parent"/>
\ No newline at end of file
-<?xml version="1.0" encoding="utf-8"?>\r
-<resources xmlns:android="http://schemas.android.com/apk/res/android">\r
- <style name="detail_title">\r
- <item name="android:textAppearance">?android:textAppearanceMedium</item>\r
- <item name="android:textColor">@drawable/black</item>\r
- <item name="android:gravity">center</item>\r
- <item name="android:layout_width">fill_parent</item>\r
- <item name="android:layout_height">wrap_content</item>\r
- </style>\r
- <style name="detail_tab">\r
- <item name="android:orientation">vertical</item>\r
- <item name="android:background">@drawable/half_corner_bg</item>\r
- <item name="android:layout_width">fill_parent</item>\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:layout_margin">2.0dip</item>\r
- </style>\r
- <style name="detail_line">\r
- <item name="android:background">@color/gray</item>\r
- <item name="android:layout_width">fill_parent</item>\r
- <item name="android:layout_height">1.0dip</item>\r
- <item name="android:layout_marginLeft">5.0dip</item>\r
- <item name="android:layout_marginRight">5.0dip</item>\r
- </style>\r
- <style name="detail_tip">\r
- <item name="android:textColor">@color/black</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:layout_margin">5.0dip</item>\r
- </style>\r
- <style name="colon">\r
- <item name="android:textColor">@color/black</item>\r
- <item name="android:gravity">center</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:layout_height">fill_parent</item>\r
- <item name="android:text">@string/colon</item>\r
- </style>\r
- <style name="value">\r
- <item name="android:textColor">@color/black</item>\r
- <item name="android:gravity">center</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:layout_height">fill_parent</item>\r
- </style>\r
- \r
- <style name="table_item_style">\r
- <item name="android:layout_width">match_parent</item>\r
- <item name="android:layout_height">70dp</item>\r
- <item name="android:layout_weight">1.0</item>\r
- <item name="android:background">@drawable/button_common_white_bg</item>\r
- <item name="android:clickable">true</item>\r
- <item name="android:gravity">center</item>\r
- </style>\r
-\r
- <style name="table_item_small_style">\r
- <item name="android:layout_width">match_parent</item>\r
- <item name="android:layout_height">80dp</item>\r
- <item name="android:layout_weight">1.0</item>\r
- <item name="android:background">@drawable/button_common_white_bg</item>\r
- <item name="android:clickable">true</item>\r
- <item name="android:gravity">center</item>\r
- </style>\r
-\r
- <style name="layout_default_style">\r
- <item name="android:layout_marginLeft">10dp</item>\r
- <item name="android:layout_marginRight">10dp</item>\r
- <item name="android:layout_marginTop">10dp</item>\r
- <item name="android:layout_marginBottom">10dp</item>\r
- </style>\r
-\r
- <style name="layout_crowd_style">\r
- <item name="android:layout_marginLeft">10dp</item>\r
- <item name="android:layout_marginRight">10dp</item>\r
- <item name="android:layout_marginTop">5dp</item>\r
- <item name="android:layout_marginBottom">5dp</item>\r
- </style>\r
-\r
- <style name="layout_button_style">\r
- <item name="android:layout_marginLeft">0dp</item>\r
- <item name="android:layout_marginRight">0dp</item>\r
- <item name="android:layout_marginTop">5dp</item>\r
- <item name="android:layout_marginBottom">5dp</item>\r
- </style>\r
-\r
- <style name="category_title_style">\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:layout_width">match_parent</item>\r
- <item name="android:background">@drawable/setting_title_bg</item>\r
- <item name="android:gravity">center_vertical</item>\r
- <item name="android:textStyle">bold</item>\r
- <item name="android:paddingLeft">00dip</item>\r
- </style>\r
-\r
- <style name="title_text_style">\r
- <item name="android:textSize">14sp</item>\r
- <item name="android:textColor">@color/color_title</item>\r
- </style>\r
-\r
- <style name="title_text_medium_style">\r
- <item name="android:textSize">16sp</item>\r
- <item name="android:textColor">@color/color_title</item>\r
- </style>\r
- \r
- <style name="title_text_large_style">\r
- <item name="android:textSize">18sp</item>\r
- <item name="android:textColor">@color/color_title</item>\r
- </style>\r
-\r
- <style name="content_text_style">\r
- <item name="android:textSize">12.0sp</item>\r
- <item name="android:textColor">@color/color_summery</item>\r
- </style>\r
-\r
- <style name="content_text_medium_style">\r
- <item name="android:textSize">14.0sp</item>\r
- <item name="android:textColor">@color/color_summery</item>\r
- </style>\r
-\r
- <style name="TextAppearance" parent="android:TextAppearance"></style>\r
-\r
- <style name="info_label">\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>\r
- <item name="android:textStyle">bold</item>\r
- <item name="android:paddingRight">5dip</item>\r
- </style>\r
-\r
- <style name="info_value">\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>\r
- <item name="android:textStyle">normal</item>\r
- </style>\r
-\r
- <style name="test_item_style">\r
- <item name="android:layout_height">match_parent</item>\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:gravity">center</item>\r
- <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>\r
- <item name="android:textSize">18sp</item>\r
- <item name="android:textStyle">normal</item>\r
- </style>\r
-\r
- <style name="help_info_text_style">\r
- <item name="android:textSize">16sp</item>\r
- <item name="android:textColor">@color/color_summery</item>\r
- </style>\r
-\r
- <style name="button_white_text">\r
- <item name="android:textSize">17.0sp</item>\r
- <item name="android:textColor">@color/button_common_white_text</item>\r
- </style>\r
- \r
- <style name="button_green_text">\r
- <item name="android:textSize">17.0sp</item>\r
- <item name="android:textColor">@color/button_common_green_text</item>\r
- </style>\r
- \r
- <style name="DialogStyle" parent="android:Theme.Dialog">\r
- <item name="android:windowBackground">@android:color/transparent</item>\r
- <item name="android:windowFrame">@null</item>\r
- <item name="android:windowNoTitle">true</item>\r
- <item name="android:windowIsFloating">true</item>\r
- <item name="android:windowIsTranslucent">true</item>\r
- <item name="android:windowContentOverlay">@null</item>\r
- <!-- 对话框是否有遮盖 -->\r
- <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>\r
- <item name="android:backgroundDimEnabled">true</item>\r
- </style>\r
- \r
- <style name="AppTheme" parent="AppBaseTheme">\r
- <!-- All customizations that are NOT specific to a particular API-level can go here. -->\r
- <item name="android:windowNoTitle">true</item>\r
- <item name="android:windowTitleSize">0.0dip</item>\r
- <item name="android:windowFullscreen">true</item>\r
- </style>\r
- \r
- <style name="AppBaseTheme" parent="android:Theme.Light">\r
- <!--\r
- Theme customizations available in newer API levels can go in\r
- res/values-vXX/styles.xml, while customizations related to\r
- backward-compatibility can go here.\r
- -->\r
- </style>\r
-\r
-\r
- <style name="IcTextStyle">\r
- <item name="android:layout_width">wrap_content</item>\r
- <item name="android:layout_height">wrap_content</item>\r
- <item name="android:textColor">@color/colorIcTextView</item>\r
- <item name="android:textSize">32sp</item>\r
- </style>\r
-</resources>\r
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+ <style name="detail_title">
+ <item name="android:textAppearance">?android:textAppearanceMedium</item>
+ <item name="android:textColor">@drawable/black</item>
+ <item name="android:gravity">center</item>
+ <item name="android:layout_width">fill_parent</item>
+ <item name="android:layout_height">wrap_content</item>
+ </style>
+ <style name="detail_tab">
+ <item name="android:orientation">vertical</item>
+ <item name="android:background">@drawable/half_corner_bg</item>
+ <item name="android:layout_width">fill_parent</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_margin">2.0dip</item>
+ </style>
+ <style name="detail_line">
+ <item name="android:background">@color/gray</item>
+ <item name="android:layout_width">fill_parent</item>
+ <item name="android:layout_height">1.0dip</item>
+ <item name="android:layout_marginLeft">5.0dip</item>
+ <item name="android:layout_marginRight">5.0dip</item>
+ </style>
+ <style name="detail_tip">
+ <item name="android:textColor">@color/black</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_margin">5.0dip</item>
+ </style>
+ <style name="colon">
+ <item name="android:textColor">@color/black</item>
+ <item name="android:gravity">center</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">fill_parent</item>
+ <item name="android:text">@string/colon</item>
+ </style>
+ <style name="value">
+ <item name="android:textColor">@color/black</item>
+ <item name="android:gravity">center</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">fill_parent</item>
+ </style>
+
+ <style name="table_item_style">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">70dp</item>
+ <item name="android:layout_weight">1.0</item>
+ <item name="android:background">@drawable/button_common_white_bg</item>
+ <item name="android:clickable">true</item>
+ <item name="android:gravity">center</item>
+ </style>
+
+ <style name="table_item_small_style">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">80dp</item>
+ <item name="android:layout_weight">1.0</item>
+ <item name="android:background">@drawable/button_common_white_bg</item>
+ <item name="android:clickable">true</item>
+ <item name="android:gravity">center</item>
+ </style>
+
+ <style name="layout_default_style">
+ <item name="android:layout_marginLeft">10dp</item>
+ <item name="android:layout_marginRight">10dp</item>
+ <item name="android:layout_marginTop">10dp</item>
+ <item name="android:layout_marginBottom">10dp</item>
+ </style>
+
+ <style name="layout_crowd_style">
+ <item name="android:layout_marginLeft">10dp</item>
+ <item name="android:layout_marginRight">10dp</item>
+ <item name="android:layout_marginTop">5dp</item>
+ <item name="android:layout_marginBottom">5dp</item>
+ </style>
+
+ <style name="layout_button_style">
+ <item name="android:layout_marginLeft">0dp</item>
+ <item name="android:layout_marginRight">0dp</item>
+ <item name="android:layout_marginTop">5dp</item>
+ <item name="android:layout_marginBottom">5dp</item>
+ </style>
+
+ <style name="category_title_style">
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:background">@drawable/setting_title_bg</item>
+ <item name="android:gravity">center_vertical</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:paddingLeft">00dip</item>
+ </style>
+
+ <style name="title_text_style">
+ <item name="android:textSize">14sp</item>
+ <item name="android:textColor">@color/color_title</item>
+ </style>
+
+ <style name="title_text_medium_style">
+ <item name="android:textSize">16sp</item>
+ <item name="android:textColor">@color/color_title</item>
+ </style>
+
+ <style name="title_text_large_style">
+ <item name="android:textSize">18sp</item>
+ <item name="android:textColor">@color/color_title</item>
+ </style>
+
+ <style name="content_text_style">
+ <item name="android:textSize">12.0sp</item>
+ <item name="android:textColor">@color/color_summery</item>
+ </style>
+
+ <style name="content_text_medium_style">
+ <item name="android:textSize">14.0sp</item>
+ <item name="android:textColor">@color/color_summery</item>
+ </style>
+
+ <style name="TextAppearance" parent="android:TextAppearance"></style>
+
+ <style name="info_label">
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:paddingRight">5dip</item>
+ </style>
+
+ <style name="info_value">
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
+ <item name="android:textStyle">normal</item>
+ </style>
+
+ <style name="test_item_style">
+ <item name="android:layout_height">match_parent</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:gravity">center</item>
+ <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+ <item name="android:textSize">18sp</item>
+ <item name="android:textStyle">normal</item>
+ </style>
+
+ <style name="help_info_text_style">
+ <item name="android:textSize">16sp</item>
+ <item name="android:textColor">@color/color_summery</item>
+ </style>
+
+ <style name="button_white_text">
+ <item name="android:textSize">17.0sp</item>
+ <item name="android:textColor">@color/button_common_white_text</item>
+ </style>
+
+ <style name="button_green_text">
+ <item name="android:textSize">17.0sp</item>
+ <item name="android:textColor">@color/button_common_green_text</item>
+ </style>
+
+ <style name="DialogStyle" parent="android:Theme.Dialog">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowFrame">@null</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowIsFloating">true</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <!-- 对话框是否有遮盖 -->
+ <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
+ <item name="android:backgroundDimEnabled">true</item>
+ </style>
+
+ <style name="AppTheme" parent="AppBaseTheme">
+ <!-- All customizations that are NOT specific to a particular API-level can go here. -->
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowTitleSize">0.0dip</item>
+ <item name="android:windowFullscreen">true</item>
+ </style>
+
+ <style name="AppBaseTheme" parent="android:Theme.Light">
+ <!--
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+ -->
+ </style>
+
+ <style name="IcTextStyle96">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textColor">@color/colorIcTextView</item>
+ <item name="android:textSize">20sp</item>
+ </style>
+ <style name="IcTextStyle">
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:textColor">@color/colorIcTextView</item>
+ <item name="android:textSize">32sp</item>
+ </style>
+</resources>
-#Mon Dec 21 21:29:58 CST 2020
-VERSION_CODE=58
+#Wed Dec 23 17:02:46 CST 2020
+VERSION_CODE=59