From: snickersun Date: Wed, 23 Dec 2020 09:07:54 +0000 (+0800) Subject: release V59 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=4419caf9ffcc87c9dbcebed2ab9aca69be993c3c;p=factoryMode.git release V59 适配L05 GPS测试界面。 取消V20,GT09的UI适配(系统已经自动适配) --- diff --git a/app/release/FactoryMode_V58_202012212129_release.apk b/app/release/FactoryMode_V58_202012212129_release.apk deleted file mode 100644 index 5cc79b3..0000000 Binary files a/app/release/FactoryMode_V58_202012212129_release.apk and /dev/null differ diff --git a/app/release/FactoryMode_V59_202012231702_release.apk b/app/release/FactoryMode_V59_202012231702_release.apk new file mode 100644 index 0000000..e2c8143 Binary files /dev/null and b/app/release/FactoryMode_V59_202012231702_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index e8b21a2..bab6098 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"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 diff --git a/app/src/main/assets/font/NotoSansHans-Medium.otf b/app/src/main/assets/font/NotoSansHans-Medium.otf new file mode 100644 index 0000000..ad071a4 Binary files /dev/null and b/app/src/main/assets/font/NotoSansHans-Medium.otf differ diff --git a/app/src/main/assets/font/NotoSansHans-Regular.otf b/app/src/main/assets/font/NotoSansHans-Regular.otf new file mode 100644 index 0000000..923f89c Binary files /dev/null and b/app/src/main/assets/font/NotoSansHans-Regular.otf differ diff --git a/app/src/main/java/mobile/miki/BaseActivity.java b/app/src/main/java/mobile/miki/BaseActivity.java index 183bdfd..01a0d7f 100644 --- a/app/src/main/java/mobile/miki/BaseActivity.java +++ b/app/src/main/java/mobile/miki/BaseActivity.java @@ -48,13 +48,14 @@ public class BaseActivity extends Activity { 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 diff --git a/app/src/main/java/mobile/miki/GPSActivity.java b/app/src/main/java/mobile/miki/GPSActivity.java index 20481b2..5a6685f 100644 --- a/app/src/main/java/mobile/miki/GPSActivity.java +++ b/app/src/main/java/mobile/miki/GPSActivity.java @@ -55,11 +55,15 @@ public class GPSActivity extends BaseActivity { private Timer timer; final LocationSnrAdapter adapter = new LocationSnrAdapter(testSnrEntriyDate(null)); private final String ttyDialogPort="/dev/ttyGS3"; + private ArrayList 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); } @@ -70,8 +74,11 @@ public class GPSActivity extends BaseActivity { 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"); @@ -85,6 +92,7 @@ public class GPSActivity extends BaseActivity { mHoop.setTextSize(15); mSearchCount.setTextSize(15); } + startListen(); } @@ -102,7 +110,7 @@ public class GPSActivity extends BaseActivity { 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 { @@ -224,13 +232,22 @@ public class GPSActivity extends BaseActivity { List 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); @@ -238,7 +255,7 @@ public class GPSActivity extends BaseActivity { mFix.setBackgroundColor(Color.GREEN); mFix.setTextColor(Color.BLACK); } - mStar.setText(satlites); + mStar.setText(satlites.toString()); mHoop.setText(hdop); mSearchCount.setText(locationTime); @@ -248,11 +265,14 @@ public class GPSActivity extends BaseActivity { 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); @@ -287,12 +307,33 @@ public class GPSActivity extends BaseActivity { } + 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) { @@ -304,9 +345,9 @@ public class GPSActivity extends BaseActivity { //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); } } @@ -323,6 +364,53 @@ public class GPSActivity extends BaseActivity { } 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; @@ -338,6 +426,7 @@ public class GPSActivity extends BaseActivity { byte[] buf=new byte[4096]; int l=0; + StringBuffer sb=new StringBuffer(); while (serial_thread_running){ if(fs!=null){ try { @@ -348,6 +437,16 @@ public class GPSActivity extends BaseActivity { 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{ @@ -377,20 +476,22 @@ public class GPSActivity extends BaseActivity { } + 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(); } @@ -427,6 +528,14 @@ public class GPSActivity extends BaseActivity { // 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++; diff --git a/app/src/main/java/mobile/miki/LocationSnrAdapter.java b/app/src/main/java/mobile/miki/LocationSnrAdapter.java index 1a32224..42b59d5 100644 --- a/app/src/main/java/mobile/miki/LocationSnrAdapter.java +++ b/app/src/main/java/mobile/miki/LocationSnrAdapter.java @@ -1,58 +1,71 @@ -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; - -public class LocationSnrAdapter extends RecyclerView.Adapter { - - - private ArrayList mSnrList = new ArrayList<>(); - - public LocationSnrAdapter(ArrayList mSnrList) { - this.mSnrList = mSnrList; - } - - public void updateLocationValue(ArrayList snrEntriys){ - mSnrList.clear(); - mSnrList.addAll(snrEntriys); - notifyDataSetChanged(); - } - - @NonNull - @Override - public SnrHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View 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); - snrView = (SnrHistogramView)itemView.findViewById(R.id.item_snr_view); - } - - - public void updateSnrValue(SnrEntriy entriy){ - snrView.updateValue(entriy.getSnrValue(),entriy.getSnrNumber(),entriy.getSnrBg()); - } - - } -} +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 { + + + private ArrayList mSnrList = new ArrayList<>(); + + public LocationSnrAdapter(ArrayList mSnrList) { + this.mSnrList = mSnrList; + } + + public void updateLocationValue(ArrayList 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()); + } + + } +} diff --git a/app/src/main/java/mobile/miki/MyApplication.java b/app/src/main/java/mobile/miki/MyApplication.java index cc67f8c..f132edd 100644 --- a/app/src/main/java/mobile/miki/MyApplication.java +++ b/app/src/main/java/mobile/miki/MyApplication.java @@ -11,6 +11,8 @@ import java.util.LinkedList; 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 activitys = null; @@ -21,13 +23,16 @@ public class MyApplication extends Application { // 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(); - } private void initFileDownLoad() { diff --git a/app/src/main/java/mobile/miki/SnrHistogramView.java b/app/src/main/java/mobile/miki/SnrHistogramView.java index dfcb8fb..036e63e 100644 --- a/app/src/main/java/mobile/miki/SnrHistogramView.java +++ b/app/src/main/java/mobile/miki/SnrHistogramView.java @@ -49,8 +49,10 @@ public class SnrHistogramView extends View { 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)); } diff --git a/app/src/main/java/mobile/miki/TouchTest.java b/app/src/main/java/mobile/miki/TouchTest.java index 2cabb9e..5af4fbc 100644 --- a/app/src/main/java/mobile/miki/TouchTest.java +++ b/app/src/main/java/mobile/miki/TouchTest.java @@ -77,9 +77,9 @@ public class TouchTest extends BaseActivity { 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(); diff --git a/app/src/main/java/mobile/miki/util/FTUtils.java b/app/src/main/java/mobile/miki/util/FTUtils.java index 052fa2a..61e60a2 100644 --- a/app/src/main/java/mobile/miki/util/FTUtils.java +++ b/app/src/main/java/mobile/miki/util/FTUtils.java @@ -191,7 +191,13 @@ public class FTUtils { 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; diff --git a/app/src/main/java/mobile/miki/util/TypeFaceUtil.java b/app/src/main/java/mobile/miki/util/TypeFaceUtil.java new file mode 100644 index 0000000..e0efb7d --- /dev/null +++ b/app/src/main/java/mobile/miki/util/TypeFaceUtil.java @@ -0,0 +1,134 @@ +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 "" + string + ""; + } + + /** + * 将给定的字符串中所有给定的关键字标红 + * + * @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, "" + keyword + ""); + } else { + result = sourceString; + } + } + return result; + } + + /** + *

Replace the font of specified view and it's children

+ * + * @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); + } + } + } + + /** + *

Replace the font of specified view and it's children

+ * 通过递归批量替换某个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: + */ +// + public static void replaceSystemDefaultFont( Context context, String fontPath) { + replaceTypefaceField("MONOSPACE", createTypeface(context, fontPath)); + } + + /** + *

Replace field in class Typeface with reflection.

+ */ + 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 diff --git a/app/src/main/res/layout/gps_full_test_activity_96.xml b/app/src/main/res/layout/gps_full_test_activity_96.xml new file mode 100644 index 0000000..4239c84 --- /dev/null +++ b/app/src/main/res/layout/gps_full_test_activity_96.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_snr_layout_96.xml b/app/src/main/res/layout/item_snr_layout_96.xml new file mode 100644 index 0000000..6a0ce11 --- /dev/null +++ b/app/src/main/res/layout/item_snr_layout_96.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b2052f6..a1e3356 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,192 +1,197 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/version_code.properties b/app/version_code.properties index 6bf5f99..722b533 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Mon Dec 21 21:29:58 CST 2020 -VERSION_CODE=58 +#Wed Dec 23 17:02:46 CST 2020 +VERSION_CODE=59