diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2af419f..dbdc867 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -29,11 +29,14 @@ + + + diff --git a/build.gradle b/build.gradle index e3f61f0..e447a9f 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ buildscript { } dependencies { - implementation files('libs/android-support-v4.jar') +// implementation files('libs/android-support-v4.jar') implementation files('libs/bcprov-jdk16-1.45.jar') implementation files('libs/dom4j-1.6.1.jar') implementation files('libs/fastjson-1.2.3.jar') @@ -57,6 +57,7 @@ dependencies { implementation files('libs/bw_pos_sdk2.0.18.jar') implementation 'com.squareup.okhttp3:okhttp:3.6.0' implementation 'com.sunmi:printerx:1.0.18' + implementation 'com.android.support:appcompat-v7:28.0.0' // implementation('com.android.support:support-v4:21.0.0') // implementation('com.android.support:appcompat-v7:21.0.0'){ // You should exclude one of them not both of them // exclude module: "support-v4" @@ -79,7 +80,7 @@ dependencies { } android { - compileSdkVersion 21 + compileSdkVersion 30 buildTypes { release { @@ -129,7 +130,7 @@ android { } defaultConfig { minSdkVersion 19 - targetSdkVersion 21 + targetSdkVersion 30 vectorDrawables.useSupportLibrary =true ndk { diff --git a/libs/android-support-v4.jar b/libs/android-support-v4.jar deleted file mode 100644 index 428bdbc..0000000 --- a/libs/android-support-v4.jar +++ /dev/null diff --git a/project.properties b/project.properties index 6e18427..08dc7b3 100644 --- a/project.properties +++ b/project.properties @@ -11,4 +11,4 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-21 +target=android-30 diff --git a/res/layout-sw360dp/app_top_title.xml b/res/layout-sw360dp/app_top_title.xml index 441f209..0fa3fdd 100644 --- a/res/layout-sw360dp/app_top_title.xml +++ b/res/layout-sw360dp/app_top_title.xml @@ -45,14 +45,14 @@ android:visibility="gone" android:textSize="@dimen/topBtnsSize" /> - + + + + + + + + =28){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + devId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); + }else if(Build.VERSION.SDK_INT>=28){ devId = getLocalMacIdFromIp(); }else{ devId = getLocalMacAddress(); diff --git a/src/com/ectrip/cyt/config/MyApp.java b/src/com/ectrip/cyt/config/MyApp.java index 6ce71c4..fe205c3 100644 --- a/src/com/ectrip/cyt/config/MyApp.java +++ b/src/com/ectrip/cyt/config/MyApp.java @@ -79,7 +79,7 @@ import com.hdx.lib.serial.SerialPortOperaion; import com.hdx.lib.serial.SerialPortOperaion.SerialReadData; -public class MyApp extends BaseApplication { +public class MyApp extends Application { private static final String TAG = "MyApp"; private static MyApp instance; // 是否是手持机 diff --git a/src/com/ectrip/cyt/ui/BaseActivity.java b/src/com/ectrip/cyt/ui/BaseActivity.java index 6e10daf..990d230 100644 --- a/src/com/ectrip/cyt/ui/BaseActivity.java +++ b/src/com/ectrip/cyt/ui/BaseActivity.java @@ -79,7 +79,7 @@ public abstract class BaseActivity extends FragmentActivity { /** * 设置为横屏 */ - LogUtil.i(TAG, "isTablet == " + isTablet); +// LogUtil.i(TAG, "isTablet == " + isTablet); if (isTablet) { if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); diff --git a/src/com/ectrip/cyt/ui/InputCodeActivity.java b/src/com/ectrip/cyt/ui/InputCodeActivity.java index aeb8219..0ff6cf0 100644 --- a/src/com/ectrip/cyt/ui/InputCodeActivity.java +++ b/src/com/ectrip/cyt/ui/InputCodeActivity.java @@ -109,7 +109,18 @@ public class InputCodeActivity extends BaseActivity implements et_sfz.requestFocus(); - if (android.os.Build.VERSION.SDK_INT >= 11) { + if (android.os.Build.VERSION.SDK_INT >= 28) { + try { + et_sfz.setShowSoftInputOnFocus(false); + et_sfz.requestFocus(); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(et_sfz); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(et_sfz); + } + }else if (android.os.Build.VERSION.SDK_INT >= 11) { try { et_sfz.setShowSoftInputOnFocus(false); } catch (Exception e) { diff --git a/src/com/ectrip/cyt/ui/InputIdCardActivity.java b/src/com/ectrip/cyt/ui/InputIdCardActivity.java index b697007..d53e228 100644 --- a/src/com/ectrip/cyt/ui/InputIdCardActivity.java +++ b/src/com/ectrip/cyt/ui/InputIdCardActivity.java @@ -24,6 +24,7 @@ import com.ectrip.cyt.shield_home.LockLayer.MToast; import com.ectrip.cyt.utils.ActivitiesManager; import com.ectrip.cyt.utils.CommetryUtils; import com.ectrip.cyt.utils.CountDownTimer; +import com.ectrip.cyt.utils.LogUtil; import com.ectrip.cyt.utils.RegexUtils; import com.ectrip.cyt.utils.SharedPreferences2Obj; import com.ectrip.trips.check.R; @@ -34,253 +35,265 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; * @author Administrator 身份证输入页面 */ public class InputIdCardActivity extends BaseActivity implements - View.OnClickListener,LongClickRepeatListener{ - - private String titleName; - // 身份证 - private EditText idEdit; - private TextView one, two, three, four, five, six, seven, eight, nine, zero, - X_btn, topBtns; - private LongClickButton delete; - private int tag; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.app_input_idcard); - ActivitiesManager.getInstance().pushActivity(this); - initConfig(); - initView(); - initReceiver(); - } - - private void initReceiver() { - IntentFilter filter = new IntentFilter("cyt.idcard.action"); - registerReceiver(broadcastReceiver,filter); - } - - private void initConfig() { - tag = getIntent().getIntExtra("tag", -1); - titleName = getIntent().getStringExtra("titleName"); - if (tag == 0) { - ((TextView) findViewById(R.id.title)) - .setText(titleName == null ? getString(R.string.app_name) - : getString(R.string.order_id) + titleName); - - } else { - ((TextView) findViewById(R.id.title)) - .setText(titleName == null ? getString(R.string.app_name) - : titleName); - } - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { - @Override - public void onClick(View arg0) { - finish(); - } - }); - } - - @SuppressLint("NewApi") - private void initView() { - SharedPreferences2Obj.getInstance(InputIdCardActivity.this) - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 - titleName = getIntent().getStringExtra("titleName"); - if (titleName != null) { - ((TextView) findViewById(R.id.title)).setText(titleName); - } else { - ((TextView) findViewById(R.id.title)).setText(R.string.input_id); - } - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); - topBtns = (Button) findViewById(R.id.topBtns); - topBtns.setVisibility(View.VISIBLE); - - idEdit = (EditText) findViewById(R.id.input_idcard); - one = (TextView) findViewById(R.id.one); - one.setOnClickListener(this); - - two = (TextView) findViewById(R.id.two); - two.setOnClickListener(this); - - three = (TextView) findViewById(R.id.three); - three.setOnClickListener(this); - - four = (TextView) findViewById(R.id.four); - four.setOnClickListener(this); - - five = (TextView) findViewById(R.id.five); - five.setOnClickListener(this); - - six = (TextView) findViewById(R.id.six); - six.setOnClickListener(this); - - seven = (TextView) findViewById(R.id.seven); - seven.setOnClickListener(this); - - eight = (TextView) findViewById(R.id.eight); - eight.setOnClickListener(this); - - nine = (TextView) findViewById(R.id.nine); - nine.setOnClickListener(this); - - zero = (TextView) findViewById(R.id.zero); - zero.setOnClickListener(this); - - X_btn = (TextView) findViewById(R.id.X_btn); - X_btn.setOnClickListener(this); - - delete =(LongClickButton) findViewById(R.id.delete); - delete.setLongClickRepeatListener(this); - delete.setOnClickListener(this); - - topBtns.setText(R.string.topbtn_ok); - topBtns.setOnClickListener(this); - - if (tag == 0) { - idEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); - idEdit.setTransformationMethod(PasswordTransformationMethod - .getInstance()); - idEdit.setHint(R.string.ticket_counter_pwd); - } - - if (android.os.Build.VERSION.SDK_INT >= 11) { - try { - idEdit.setShowSoftInputOnFocus(false); - } catch (Exception e) { - e.printStackTrace(); - textViewShow(idEdit); - } catch (Throwable e) { - e.printStackTrace(); - textViewShow(idEdit); - } - } else { - textViewShow(idEdit); - } - } - - private void textViewShow(EditText message) { - - if (android.os.Build.VERSION.SDK_INT <= 10) { - message.setInputType(InputType.TYPE_NULL); - } else { - getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); - try { - Class cls = EditText.class; - Method setSoftInputShownOnFocus = cls.getMethod( - "setSoftInputShownOnFocus", boolean.class); - setSoftInputShownOnFocus.setAccessible(true); - setSoftInputShownOnFocus.invoke(message, false); - } catch (Exception e) { - } - } - - } - - @Override - public void onClick(View v) { - int index = 0; - Editable editable = null; - if (idEdit.isFocused()) { - index = idEdit.getSelectionStart(); - editable = idEdit.getText(); - } - - switch (v.getId()) { - case R.id.topBtns: - String str = idEdit.getText().toString(); - - if (!RegexUtils.checkIdCard(str)) { - MToast(InputIdCardActivity.this, - getString(R.string.the_idcard_not_valid), - MToast.LENGTH_SHORT); - idEdit.setText(""); - return; - } - Intent intent = new Intent(InputIdCardActivity.this, - IDOrderListActivity.class); - CountDownTimer.firstTime = new Date().getTime();// 不必要的可以删除 - intent.putExtra("mode", 0); - intent.putExtra("idcardNumber", str); - intent.putExtra("titleName", getString(R.string.order_list)); - startActivity(intent); - - break; - case R.id.delete: - if (idEdit.isFocused()) { - index = idEdit.getSelectionStart(); - editable = idEdit.getText(); - } - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - break; - default: - if (editable.length() < 18) { - editable.insert(index, ((TextView) v).getText()); - } - break; - } - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_BACK) { - try { - CommetryUtils.releaseCommery(this); - } catch (Exception e) { - e.printStackTrace(); - } - - finish(); - - } - return false; - } - - @Override - protected void onDestroy() { - super.onDestroy(); - - try { - CommetryUtils.releaseCommery(this); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void repeatAction() { - int index = 0; - Editable editable = null; - if (idEdit.isFocused()) { - index = idEdit.getSelectionStart(); - editable = idEdit.getText(); - } - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - } - - /**************************查询成功的情况下,清空输入框*****************************/ - BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent){ - boolean sucess=intent.getExtras().getBoolean("sucess",false); - if(sucess){ - idEdit.setText(""); - } - } - }; + View.OnClickListener, LongClickRepeatListener { + + private String titleName; + // 身份证 + private EditText idEdit; + private TextView one, two, three, four, five, six, seven, eight, nine, zero, + X_btn, topBtns; + private LongClickButton delete; + private int tag; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.app_input_idcard); + ActivitiesManager.getInstance().pushActivity(this); + initConfig(); + initView(); + initReceiver(); + } + + private void initReceiver() { + IntentFilter filter = new IntentFilter("cyt.idcard.action"); + registerReceiver(broadcastReceiver, filter); + } + + private void initConfig() { + tag = getIntent().getIntExtra("tag", -1); + titleName = getIntent().getStringExtra("titleName"); + if (tag == 0) { + ((TextView) findViewById(R.id.title)) + .setText(titleName == null ? getString(R.string.app_name) + : getString(R.string.order_id) + titleName); + + } else { + ((TextView) findViewById(R.id.title)) + .setText(titleName == null ? getString(R.string.app_name) + : titleName); + } + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View arg0) { + finish(); + } + }); + } + + @SuppressLint("NewApi") + private void initView() { + SharedPreferences2Obj.getInstance(InputIdCardActivity.this) + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 + titleName = getIntent().getStringExtra("titleName"); + if (titleName != null) { + ((TextView) findViewById(R.id.title)).setText(titleName); + } else { + ((TextView) findViewById(R.id.title)).setText(R.string.input_id); + } + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); + topBtns = (Button) findViewById(R.id.topBtns); + topBtns.setVisibility(View.VISIBLE); + + idEdit = (EditText) findViewById(R.id.input_idcard); + one = (TextView) findViewById(R.id.one); + one.setOnClickListener(this); + + two = (TextView) findViewById(R.id.two); + two.setOnClickListener(this); + + three = (TextView) findViewById(R.id.three); + three.setOnClickListener(this); + + four = (TextView) findViewById(R.id.four); + four.setOnClickListener(this); + + five = (TextView) findViewById(R.id.five); + five.setOnClickListener(this); + + six = (TextView) findViewById(R.id.six); + six.setOnClickListener(this); + + seven = (TextView) findViewById(R.id.seven); + seven.setOnClickListener(this); + + eight = (TextView) findViewById(R.id.eight); + eight.setOnClickListener(this); + + nine = (TextView) findViewById(R.id.nine); + nine.setOnClickListener(this); + + zero = (TextView) findViewById(R.id.zero); + zero.setOnClickListener(this); + + X_btn = (TextView) findViewById(R.id.X_btn); + X_btn.setOnClickListener(this); + + delete = (LongClickButton) findViewById(R.id.delete); + delete.setLongClickRepeatListener(this); + delete.setOnClickListener(this); + + topBtns.setText(R.string.topbtn_ok); + topBtns.setOnClickListener(this); + + if (tag == 0) { + idEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); + idEdit.setTransformationMethod(PasswordTransformationMethod + .getInstance()); + idEdit.setHint(R.string.ticket_counter_pwd); + } + + if (android.os.Build.VERSION.SDK_INT >= 28) { + try { + idEdit.setShowSoftInputOnFocus(false); + idEdit.requestFocus(); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(idEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(idEdit); + } + } else if (android.os.Build.VERSION.SDK_INT >= 11) { + try { + idEdit.setShowSoftInputOnFocus(false); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(idEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(idEdit); + } + } else { + textViewShow(idEdit); + } + } + + private void textViewShow(EditText message) { + + if (android.os.Build.VERSION.SDK_INT <= 10) { + message.setInputType(InputType.TYPE_NULL); + } else { + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + try { + Class cls = EditText.class; + Method setSoftInputShownOnFocus = cls.getMethod( + "setSoftInputShownOnFocus", boolean.class); + setSoftInputShownOnFocus.setAccessible(true); + setSoftInputShownOnFocus.invoke(message, false); + } catch (Exception e) { + } + } + + } + + @Override + public void onClick(View v) { + int index = 0; + Editable editable = null; + if (idEdit.isFocused()) { + LogUtil.d(TAG, "获取到了焦点"); + index = idEdit.getSelectionStart(); + editable = idEdit.getText(); + } + + switch (v.getId()) { + case R.id.topBtns: + String str = idEdit.getText().toString(); + + if (!RegexUtils.checkIdCard(str)) { + MToast(InputIdCardActivity.this, + getString(R.string.the_idcard_not_valid), + MToast.LENGTH_SHORT); + idEdit.setText(""); + return; + } + Intent intent = new Intent(InputIdCardActivity.this, + IDOrderListActivity.class); + CountDownTimer.firstTime = new Date().getTime();// 不必要的可以删除 + intent.putExtra("mode", 0); + intent.putExtra("idcardNumber", str); + intent.putExtra("titleName", getString(R.string.order_list)); + startActivity(intent); + + break; + case R.id.delete: + if (idEdit.isFocused()) { + index = idEdit.getSelectionStart(); + editable = idEdit.getText(); + } + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + break; + default: + if (editable.length() < 18) { + editable.insert(index, ((TextView) v).getText()); + } + break; + } + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + try { + CommetryUtils.releaseCommery(this); + } catch (Exception e) { + e.printStackTrace(); + } + + finish(); + + } + return false; + } + + @Override + protected void onDestroy() { + super.onDestroy(); + + try { + CommetryUtils.releaseCommery(this); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void repeatAction() { + int index = 0; + Editable editable = null; + if (idEdit.isFocused()) { + index = idEdit.getSelectionStart(); + editable = idEdit.getText(); + } + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + } + + /**************************查询成功的情况下,清空输入框*****************************/ + BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + boolean sucess = intent.getExtras().getBoolean("sucess", false); + if (sucess) { + idEdit.setText(""); + } + } + }; } diff --git a/src/com/ectrip/cyt/ui/InputOridActivity.java b/src/com/ectrip/cyt/ui/InputOridActivity.java index 4b2da8b..3b47ae2 100644 --- a/src/com/ectrip/cyt/ui/InputOridActivity.java +++ b/src/com/ectrip/cyt/ui/InputOridActivity.java @@ -28,279 +28,292 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; /** * @author jigo 输入订单 - * */ public class InputOridActivity extends BaseActivity implements - View.OnClickListener, LongClickRepeatListener { + View.OnClickListener, LongClickRepeatListener { - private String titleName; + private String titleName; - private EditText oridEdit, pwdEdit; + private EditText oridEdit, pwdEdit; - private TextView two, three, four, five, six, seven, eight, nine, zero, - X_btn, topBtns; - private LongClickButton delete; - private TextView one; - private View one_layout; + private TextView two, three, four, five, six, seven, eight, nine, zero, + X_btn, topBtns; + private LongClickButton delete; + private TextView one; + private View one_layout; - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.app_input_orid); - ActivitiesManager.getInstance().pushActivity(this); - initConfig(); - initView(); - initReceiver(); - } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.app_input_orid); + ActivitiesManager.getInstance().pushActivity(this); + initConfig(); + initView(); + initReceiver(); + } - private void initReceiver() { + private void initReceiver() { // IntentFilter filter = new IntentFilter("cyt.orid.action"); // registerReceiver(broadcastReceiver, filter); - } - - private void textViewShow(EditText message) { - - if (android.os.Build.VERSION.SDK_INT <= 10) { - message.setInputType(InputType.TYPE_NULL); - } else { - getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); - try { - Class cls = EditText.class; - Method setSoftInputShownOnFocus = cls.getMethod( - "setSoftInputShownOnFocus", boolean.class); - setSoftInputShownOnFocus.setAccessible(true); - setSoftInputShownOnFocus.invoke(message, false); - } catch (Exception e) { - } - } - - } - - private void initConfig() { - titleName = getIntent().getStringExtra("titleName"); - ((TextView) findViewById(R.id.title)) - .setText(titleName == null ? getString(R.string.app_name) - : titleName); - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View arg0) { - finish(); - } - }); - } - - @SuppressLint("NewApi") - private void initView() { - SharedPreferences2Obj.getInstance(InputOridActivity.this) - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 - titleName = getIntent().getStringExtra("titleName"); - if (titleName != null) { - ((TextView) findViewById(R.id.title)).setText(titleName); - } else { - ((TextView) findViewById(R.id.title)) - .setText(R.string.input_order_id); - } - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); - oridEdit = (EditText) findViewById(R.id.input_orid); - pwdEdit = (EditText) findViewById(R.id.input_pwd); - int Select = SharedPreferences2Obj.getInstance(InputOridActivity.this) - .setName("SelectAction").getObject("Select", Integer.class); - if (Select == 2) { - findViewById(R.id.layout02).setVisibility(View.GONE); - findViewById(R.id.line).setVisibility(View.GONE); - pwdEdit.setVisibility(View.GONE); - findViewById(R.id.pwdText).setVisibility(View.GONE); - } - - topBtns = (Button) findViewById(R.id.topBtns); - topBtns.setVisibility(View.VISIBLE); - one = (TextView) findViewById(R.id.one); - one.setOnClickListener(this); - // one.setTextColor(0X00000000); - - one_layout = findViewById(R.id.one_layout); - one_layout.setOnTouchListener(new OnTouchListener() { - @SuppressLint("ClickableViewAccessibility") - @Override - public boolean onTouch(View arg0, MotionEvent arg1) { - if (arg1.getAction() == MotionEvent.ACTION_DOWN) { - arg0.setBackgroundColor(Color.BLACK); - return false; - } else if (arg1.getAction() == MotionEvent.ACTION_UP) { - arg0.setBackgroundColor(Color.WHITE); - return false; - } - return false; - } - }); - - two = (TextView) findViewById(R.id.two); - two.setOnClickListener(this); - - three = (TextView) findViewById(R.id.three); - three.setOnClickListener(this); - - four = (TextView) findViewById(R.id.four); - four.setOnClickListener(this); - - five = (TextView) findViewById(R.id.five); - five.setOnClickListener(this); - - six = (TextView) findViewById(R.id.six); - six.setOnClickListener(this); - - seven = (TextView) findViewById(R.id.seven); - seven.setOnClickListener(this); - - eight = (TextView) findViewById(R.id.eight); - eight.setOnClickListener(this); - - nine = (TextView) findViewById(R.id.nine); - nine.setOnClickListener(this); - - zero = (TextView) findViewById(R.id.zero); - zero.setOnClickListener(this); - - X_btn = (TextView) findViewById(R.id.X_btn); - X_btn.setOnClickListener(this); - - delete = (LongClickButton) findViewById(R.id.delete); - delete.setLongClickRepeatListener(this); - delete.setOnClickListener(this); - - topBtns.setText(getString(R.string.topbtn_ok)); - topBtns.setOnClickListener(this); - - textViewShow(oridEdit); - if (Select != 2) { - textViewShow(pwdEdit); - } - - if (android.os.Build.VERSION.SDK_INT >= 11) { - try { - oridEdit.setShowSoftInputOnFocus(false); - pwdEdit.setShowSoftInputOnFocus(false); - } catch (Exception e) { - e.printStackTrace(); - textViewShow(oridEdit); - textViewShow(pwdEdit); - } catch (Throwable e) { - e.printStackTrace(); - textViewShow(oridEdit); - textViewShow(pwdEdit); - } - } else { - textViewShow(oridEdit); - textViewShow(pwdEdit); - } - } - - @Override - public void onClick(View v) { - int index = 0; - Editable editable = null; - - if (oridEdit.isFocused()) { - index = oridEdit.getSelectionStart(); - editable = oridEdit.getText(); - } else { - index = pwdEdit.getSelectionStart(); - editable = pwdEdit.getText(); - } - switch (v.getId()) { - case R.id.topBtns: - String input_oridStr = oridEdit.getText().toString().trim(); - String input_pwdStr; - int Select = SharedPreferences2Obj - .getInstance(InputOridActivity.this) - .setName("SelectAction").getObject("Select", Integer.class); - if (Select != 2) { - input_pwdStr = pwdEdit.getText().toString().trim(); - } else { - input_pwdStr = ""; - } - - if (input_oridStr == null || "".equals(input_oridStr)) { - MToast(InputOridActivity.this, - getString(R.string.order_id_not_null), - MToast.LENGTH_SHORT); - return; - } - - if (Select != 2) { - if (input_pwdStr == null || "".equals(input_pwdStr)) { - MToast(InputOridActivity.this, - getString(R.string.pwd_not_null), - MToast.LENGTH_SHORT); - return; - } - } - - Intent intent = new Intent(InputOridActivity.this, - InputOrderListActivity.class); - intent.putExtra("input_orid", input_oridStr); - intent.putExtra("input_pwd", input_pwdStr); - intent.putExtra("titleName", getString(R.string.show_result)); - intent.putExtra("mode", 2); - startActivity(intent); - - break; - case R.id.delete: - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - break; - default: - - if (editable.length() < 18) { - editable.insert(index, ((TextView) v).getText()); - } - break; - - } - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_BACK) { - try { - CommetryUtils.releaseCommery(this); - } catch (Exception e) { - e.printStackTrace(); - } - finish(); - } - return false; - } - - @Override - public void repeatAction() { - int index = 0; - Editable editable = null; - - if (oridEdit.isFocused()) { - index = oridEdit.getSelectionStart(); - editable = oridEdit.getText(); - } else { - index = pwdEdit.getSelectionStart(); - editable = pwdEdit.getText(); - } - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - } + } + + private void textViewShow(EditText message) { + + if (android.os.Build.VERSION.SDK_INT <= 10) { + message.setInputType(InputType.TYPE_NULL); + } else { + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + try { + Class cls = EditText.class; + Method setSoftInputShownOnFocus = cls.getMethod( + "setSoftInputShownOnFocus", boolean.class); + setSoftInputShownOnFocus.setAccessible(true); + setSoftInputShownOnFocus.invoke(message, false); + } catch (Exception e) { + } + } + + } + + private void initConfig() { + titleName = getIntent().getStringExtra("titleName"); + ((TextView) findViewById(R.id.title)) + .setText(titleName == null ? getString(R.string.app_name) + : titleName); + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View arg0) { + finish(); + } + }); + } + + @SuppressLint("NewApi") + private void initView() { + SharedPreferences2Obj.getInstance(InputOridActivity.this) + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 + titleName = getIntent().getStringExtra("titleName"); + if (titleName != null) { + ((TextView) findViewById(R.id.title)).setText(titleName); + } else { + ((TextView) findViewById(R.id.title)) + .setText(R.string.input_order_id); + } + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); + oridEdit = (EditText) findViewById(R.id.input_orid); + pwdEdit = (EditText) findViewById(R.id.input_pwd); + int Select = SharedPreferences2Obj.getInstance(InputOridActivity.this) + .setName("SelectAction").getObject("Select", Integer.class); + if (Select == 2) { + findViewById(R.id.layout02).setVisibility(View.GONE); + findViewById(R.id.line).setVisibility(View.GONE); + pwdEdit.setVisibility(View.GONE); + findViewById(R.id.pwdText).setVisibility(View.GONE); + } + + topBtns = (Button) findViewById(R.id.topBtns); + topBtns.setVisibility(View.VISIBLE); + one = (TextView) findViewById(R.id.one); + one.setOnClickListener(this); + // one.setTextColor(0X00000000); + + one_layout = findViewById(R.id.one_layout); + one_layout.setOnTouchListener(new OnTouchListener() { + @SuppressLint("ClickableViewAccessibility") + @Override + public boolean onTouch(View arg0, MotionEvent arg1) { + if (arg1.getAction() == MotionEvent.ACTION_DOWN) { + arg0.setBackgroundColor(Color.BLACK); + return false; + } else if (arg1.getAction() == MotionEvent.ACTION_UP) { + arg0.setBackgroundColor(Color.WHITE); + return false; + } + return false; + } + }); + + two = (TextView) findViewById(R.id.two); + two.setOnClickListener(this); + + three = (TextView) findViewById(R.id.three); + three.setOnClickListener(this); + + four = (TextView) findViewById(R.id.four); + four.setOnClickListener(this); + + five = (TextView) findViewById(R.id.five); + five.setOnClickListener(this); + + six = (TextView) findViewById(R.id.six); + six.setOnClickListener(this); + + seven = (TextView) findViewById(R.id.seven); + seven.setOnClickListener(this); + + eight = (TextView) findViewById(R.id.eight); + eight.setOnClickListener(this); + + nine = (TextView) findViewById(R.id.nine); + nine.setOnClickListener(this); + + zero = (TextView) findViewById(R.id.zero); + zero.setOnClickListener(this); + + X_btn = (TextView) findViewById(R.id.X_btn); + X_btn.setOnClickListener(this); + + delete = (LongClickButton) findViewById(R.id.delete); + delete.setLongClickRepeatListener(this); + delete.setOnClickListener(this); + + topBtns.setText(getString(R.string.topbtn_ok)); + topBtns.setOnClickListener(this); + + textViewShow(oridEdit); + if (Select != 2) { + textViewShow(pwdEdit); + } + + if (android.os.Build.VERSION.SDK_INT >= 28) { + try { + oridEdit.setShowSoftInputOnFocus(false); + pwdEdit.setShowSoftInputOnFocus(false); + oridEdit.requestFocus(); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(oridEdit); + textViewShow(pwdEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(oridEdit); + textViewShow(pwdEdit); + } + } else if (android.os.Build.VERSION.SDK_INT >= 11) { + try { + oridEdit.setShowSoftInputOnFocus(false); + pwdEdit.setShowSoftInputOnFocus(false); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(oridEdit); + textViewShow(pwdEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(oridEdit); + textViewShow(pwdEdit); + } + } else { + textViewShow(oridEdit); + textViewShow(pwdEdit); + } + } + + @Override + public void onClick(View v) { + int index = 0; + Editable editable = null; + + if (oridEdit.isFocused()) { + index = oridEdit.getSelectionStart(); + editable = oridEdit.getText(); + } else { + index = pwdEdit.getSelectionStart(); + editable = pwdEdit.getText(); + } + switch (v.getId()) { + case R.id.topBtns: + String input_oridStr = oridEdit.getText().toString().trim(); + String input_pwdStr; + int Select = SharedPreferences2Obj + .getInstance(InputOridActivity.this) + .setName("SelectAction").getObject("Select", Integer.class); + if (Select != 2) { + input_pwdStr = pwdEdit.getText().toString().trim(); + } else { + input_pwdStr = ""; + } + + if (input_oridStr == null || "".equals(input_oridStr)) { + MToast(InputOridActivity.this, + getString(R.string.order_id_not_null), + MToast.LENGTH_SHORT); + return; + } + + if (Select != 2) { + if (input_pwdStr == null || "".equals(input_pwdStr)) { + MToast(InputOridActivity.this, + getString(R.string.pwd_not_null), + MToast.LENGTH_SHORT); + return; + } + } + + Intent intent = new Intent(InputOridActivity.this, + InputOrderListActivity.class); + intent.putExtra("input_orid", input_oridStr); + intent.putExtra("input_pwd", input_pwdStr); + intent.putExtra("titleName", getString(R.string.show_result)); + intent.putExtra("mode", 2); + startActivity(intent); + + break; + case R.id.delete: + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + break; + default: + + if (editable.length() < 18) { + editable.insert(index, ((TextView) v).getText()); + } + break; + + } + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + try { + CommetryUtils.releaseCommery(this); + } catch (Exception e) { + e.printStackTrace(); + } + finish(); + } + return false; + } + + @Override + public void repeatAction() { + int index = 0; + Editable editable = null; + + if (oridEdit.isFocused()) { + index = oridEdit.getSelectionStart(); + editable = oridEdit.getText(); + } else { + index = pwdEdit.getSelectionStart(); + editable = pwdEdit.getText(); + } + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + } } diff --git a/src/com/ectrip/cyt/ui/InputPhoneActivity.java b/src/com/ectrip/cyt/ui/InputPhoneActivity.java index ce9202b..41921c9 100644 --- a/src/com/ectrip/cyt/ui/InputPhoneActivity.java +++ b/src/com/ectrip/cyt/ui/InputPhoneActivity.java @@ -31,244 +31,256 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; * 手机号输入界面 */ public class InputPhoneActivity extends BaseActivity implements - View.OnClickListener, LongClickRepeatListener { + View.OnClickListener, LongClickRepeatListener { - private String titleName; - private EditText phoneEdit;// 手机号 - private TextView one, two, three, four, five, six, seven, eight, nine, - zero, X_btn, topBtns; - private LongClickButton delete; + private String titleName; + private EditText phoneEdit;// 手机号 + private TextView one, two, three, four, five, six, seven, eight, nine, + zero, X_btn, topBtns; + private LongClickButton delete; - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.app_input_idcard); - ActivitiesManager.getInstance().pushActivity(this); - initView(); - initReceiver(); - } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.app_input_idcard); + ActivitiesManager.getInstance().pushActivity(this); + initView(); + initReceiver(); + } - private void initReceiver() { - IntentFilter filter = new IntentFilter("cyt.phone.action"); - registerReceiver(broadcastReceiver,filter); - } + private void initReceiver() { + IntentFilter filter = new IntentFilter("cyt.phone.action"); + registerReceiver(broadcastReceiver, filter); + } - @Override - protected void onPause() { - super.onPause(); + @Override + protected void onPause() { + super.onPause(); // unregisterReceiver(broadcastReceiver); - } - @SuppressLint("NewApi") - private void initView() { - SharedPreferences2Obj.getInstance(InputPhoneActivity.this) - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 - titleName = getIntent().getStringExtra("titleName"); - if (titleName != null) { - ((TextView) findViewById(R.id.title)).setText(titleName); - } else { - ((TextView) findViewById(R.id.title)).setText(R.string.input_phone); - } - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - finish(); - } - }); - topBtns = (Button) findViewById(R.id.topBtns); - topBtns.setVisibility(View.VISIBLE); - - phoneEdit = (EditText) findViewById(R.id.input_idcard); - phoneEdit.setHint(R.string.input_phone); - one = (TextView) findViewById(R.id.one); - one.setOnClickListener(this); - - two = (TextView) findViewById(R.id.two); - two.setOnClickListener(this); - - three = (TextView) findViewById(R.id.three); - three.setOnClickListener(this); - - four = (TextView) findViewById(R.id.four); - four.setOnClickListener(this); - - five = (TextView) findViewById(R.id.five); - five.setOnClickListener(this); - - six = (TextView) findViewById(R.id.six); - six.setOnClickListener(this); - - seven = (TextView) findViewById(R.id.seven); - seven.setOnClickListener(this); - - eight = (TextView) findViewById(R.id.eight); - eight.setOnClickListener(this); - - nine = (TextView) findViewById(R.id.nine); - nine.setOnClickListener(this); - - zero = (TextView) findViewById(R.id.zero); - zero.setOnClickListener(this); - - X_btn = (TextView) findViewById(R.id.X_btn); - X_btn.setOnClickListener(this); - - delete = (LongClickButton) findViewById(R.id.delete); - delete.setOnClickListener(this); - delete.setLongClickRepeatListener(this); - topBtns.setText(R.string.topbtn_ok); - topBtns.setOnClickListener(this); - - if (android.os.Build.VERSION.SDK_INT > 14) { - try { - phoneEdit.setShowSoftInputOnFocus(false); - } catch (Exception e) { - e.printStackTrace(); - textViewShow(phoneEdit); - } catch (Throwable e) { - e.printStackTrace(); - textViewShow(phoneEdit); - } - } else { - textViewShow(phoneEdit); - } - } - - private void textViewShow(EditText message) { - - if (android.os.Build.VERSION.SDK_INT <= 10) { - message.setInputType(InputType.TYPE_NULL); - } else { - getWindow().setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); - try { - Class cls = EditText.class; - Method setSoftInputShownOnFocus = cls.getMethod( - "setSoftInputShownOnFocus", boolean.class); - setSoftInputShownOnFocus.setAccessible(true); - setSoftInputShownOnFocus.invoke(message, false); - } catch (Exception e) { - } - } - - } - - @Override - public void onClick(View v) { - int index = 0; - Editable editable = null; - if (phoneEdit.isFocused()) { - index = phoneEdit.getSelectionStart(); - editable = phoneEdit.getText(); - } - - switch (v.getId()) { - case R.id.topBtns: - String str = phoneEdit.getText().toString(); - - if (str == null) { - MToast(InputPhoneActivity.this, - getString(R.string.fill_in_phone), MToast.LENGTH_SHORT); - return; - } - - if (!isNumeric(str)) { - MToast(InputPhoneActivity.this, - getString(R.string.phone_incorrect), - MToast.LENGTH_SHORT); - return; - } - - Intent intent = new Intent(InputPhoneActivity.this, - PhoneOrderListActivity.class); - intent.putExtra("mode", 0); - intent.putExtra("mobile", str); - intent.putExtra("titleName", getString(R.string.order_list)); - startActivity(intent); - break; - case R.id.delete: - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - break; - default: - if (editable.length() < 18) { - editable.insert(index, ((TextView) v).getText()); - } - break; - } - } - - public boolean isNumeric(String str) { - Pattern pattern = Pattern.compile("[0-9]*"); - if (pattern.matcher(str).matches() && str.length() == 11) { - return true; - } else { - return false; - } - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_BACK) { - try { - CommetryUtils.releaseCommery(this); - } catch (Exception e) { - e.printStackTrace(); - } - - finish(); - - } - return false; - } - - @Override - protected void onDestroy() { - super.onDestroy(); - unregisterReceiver(broadcastReceiver); - try { - CommetryUtils.releaseCommery(this); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void repeatAction() { - int index = 0; - Editable editable = null; - if (phoneEdit.isFocused()) { - index = phoneEdit.getSelectionStart(); - editable = phoneEdit.getText(); - } - if (editable.length() > 0) { - try { - editable.delete(index - 1, index); - } catch (Exception e) { - if (editable.length() > 0) { - editable.delete(index, index + 1); - } - } - } - } - - /**************************查询成功的情况下,清空输入框*****************************/ - BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent){ - boolean sucess=intent.getExtras().getBoolean("sucess",false); - if(sucess){ - phoneEdit.setText(""); - } - } - }; + } + + @SuppressLint("NewApi") + private void initView() { + SharedPreferences2Obj.getInstance(InputPhoneActivity.this) + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 + titleName = getIntent().getStringExtra("titleName"); + if (titleName != null) { + ((TextView) findViewById(R.id.title)).setText(titleName); + } else { + ((TextView) findViewById(R.id.title)).setText(R.string.input_phone); + } + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + topBtns = (Button) findViewById(R.id.topBtns); + topBtns.setVisibility(View.VISIBLE); + + phoneEdit = (EditText) findViewById(R.id.input_idcard); + phoneEdit.setHint(R.string.input_phone); + one = (TextView) findViewById(R.id.one); + one.setOnClickListener(this); + + two = (TextView) findViewById(R.id.two); + two.setOnClickListener(this); + + three = (TextView) findViewById(R.id.three); + three.setOnClickListener(this); + + four = (TextView) findViewById(R.id.four); + four.setOnClickListener(this); + + five = (TextView) findViewById(R.id.five); + five.setOnClickListener(this); + + six = (TextView) findViewById(R.id.six); + six.setOnClickListener(this); + + seven = (TextView) findViewById(R.id.seven); + seven.setOnClickListener(this); + + eight = (TextView) findViewById(R.id.eight); + eight.setOnClickListener(this); + + nine = (TextView) findViewById(R.id.nine); + nine.setOnClickListener(this); + + zero = (TextView) findViewById(R.id.zero); + zero.setOnClickListener(this); + + X_btn = (TextView) findViewById(R.id.X_btn); + X_btn.setOnClickListener(this); + + delete = (LongClickButton) findViewById(R.id.delete); + delete.setOnClickListener(this); + delete.setLongClickRepeatListener(this); + topBtns.setText(R.string.topbtn_ok); + topBtns.setOnClickListener(this); + + if (android.os.Build.VERSION.SDK_INT >= 28) { + try { + phoneEdit.setShowSoftInputOnFocus(false); + phoneEdit.requestFocus(); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(phoneEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(phoneEdit); + } + } else if (android.os.Build.VERSION.SDK_INT >= 11) { + try { + phoneEdit.setShowSoftInputOnFocus(false); + } catch (Exception e) { + e.printStackTrace(); + textViewShow(phoneEdit); + } catch (Throwable e) { + e.printStackTrace(); + textViewShow(phoneEdit); + } + } else { + textViewShow(phoneEdit); + } + } + + private void textViewShow(EditText message) { + + if (android.os.Build.VERSION.SDK_INT <= 10) { + message.setInputType(InputType.TYPE_NULL); + } else { + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + try { + Class cls = EditText.class; + Method setSoftInputShownOnFocus = cls.getMethod( + "setSoftInputShownOnFocus", boolean.class); + setSoftInputShownOnFocus.setAccessible(true); + setSoftInputShownOnFocus.invoke(message, false); + } catch (Exception e) { + } + } + + } + + @Override + public void onClick(View v) { + int index = 0; + Editable editable = null; + if (phoneEdit.isFocused()) { + index = phoneEdit.getSelectionStart(); + editable = phoneEdit.getText(); + } + + switch (v.getId()) { + case R.id.topBtns: + String str = phoneEdit.getText().toString(); + + if (str == null) { + MToast(InputPhoneActivity.this, + getString(R.string.fill_in_phone), MToast.LENGTH_SHORT); + return; + } + + if (!isNumeric(str)) { + MToast(InputPhoneActivity.this, + getString(R.string.phone_incorrect), + MToast.LENGTH_SHORT); + return; + } + + Intent intent = new Intent(InputPhoneActivity.this, + PhoneOrderListActivity.class); + intent.putExtra("mode", 0); + intent.putExtra("mobile", str); + intent.putExtra("titleName", getString(R.string.order_list)); + startActivity(intent); + break; + case R.id.delete: + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + break; + default: + if (editable.length() < 18) { + editable.insert(index, ((TextView) v).getText()); + } + break; + } + } + + public boolean isNumeric(String str) { + Pattern pattern = Pattern.compile("[0-9]*"); + if (pattern.matcher(str).matches() && str.length() == 11) { + return true; + } else { + return false; + } + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + try { + CommetryUtils.releaseCommery(this); + } catch (Exception e) { + e.printStackTrace(); + } + + finish(); + + } + return false; + } + + @Override + protected void onDestroy() { + super.onDestroy(); + unregisterReceiver(broadcastReceiver); + try { + CommetryUtils.releaseCommery(this); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void repeatAction() { + int index = 0; + Editable editable = null; + if (phoneEdit.isFocused()) { + index = phoneEdit.getSelectionStart(); + editable = phoneEdit.getText(); + } + if (editable.length() > 0) { + try { + editable.delete(index - 1, index); + } catch (Exception e) { + if (editable.length() > 0) { + editable.delete(index, index + 1); + } + } + } + } + + /**************************查询成功的情况下,清空输入框*****************************/ + BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + boolean sucess = intent.getExtras().getBoolean("sucess", false); + if (sucess) { + phoneEdit.setText(""); + } + } + }; } diff --git a/src/com/ectrip/cyt/ui/SettingsActivity.java b/src/com/ectrip/cyt/ui/SettingsActivity.java index eae6242..cc8521d 100644 --- a/src/com/ectrip/cyt/ui/SettingsActivity.java +++ b/src/com/ectrip/cyt/ui/SettingsActivity.java @@ -18,6 +18,7 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.IBinder; +import android.provider.Settings; import android.text.InputType; import android.text.TextUtils; import android.view.KeyEvent; diff --git a/src/com/ectrip/cyt/ui/WelcomeActivity.java b/src/com/ectrip/cyt/ui/WelcomeActivity.java index 93f4b64..963fbef 100644 --- a/src/com/ectrip/cyt/ui/WelcomeActivity.java +++ b/src/com/ectrip/cyt/ui/WelcomeActivity.java @@ -1,20 +1,39 @@ package com.ectrip.cyt.ui; import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; import java.util.Timer; import java.util.TimerTask; +import android.Manifest; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Build; import android.os.Bundle; +import android.os.Environment; +import android.provider.Settings; +//import android.support.v4.app.ActivityCompat; +//import android.support.v4.content.ContextCompat; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.RequiresApi; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.view.KeyEvent; import android.widget.ImageView; import android.widget.ImageView.ScaleType; +import android.widget.Toast; import com.ectrip.cyt.constant.LogoType; import com.ectrip.cyt.constant.constant; +import com.ectrip.cyt.utils.LogUtil; import com.ectrip.trips.check.R; public class WelcomeActivity extends BaseActivity { @@ -22,14 +41,22 @@ public class WelcomeActivity extends BaseActivity { public final String TAG = "WelcomeActivity"; private ImageView welcomeBg; + private static final int REQUEST_STORAGE_PERMISSION = 100; + private static final int REQUEST_MANAGE_STORAGE = 101; + private static final int INSTALL_PERMISS_CODE = 102; + private String[] permissions = { + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_welcome); initView(); - Access(); +// Access(); isScreenChange(); + checkFilePermissions(); } private void initView(){ @@ -91,6 +118,170 @@ public class WelcomeActivity extends BaseActivity { } + private void checkFilePermissions() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + // Android 11+ + if (!Environment.isExternalStorageManager()) { + showManageStorageDialog(); + } else { + // 已有权限 + LogUtil.d(TAG, "Android 11+已有权限"); + requestPermission(); + } + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + // Android 6.0-10 + if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) + != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(this, permissions, REQUEST_STORAGE_PERMISSION); + } else { + // 已有权限 + LogUtil.d(TAG, "已有权限"); + requestPermission(); + } + + } else { + // Android 5.1及以下,无需动态申请 + } + } + + private void showManageStorageDialog() { + new AlertDialog.Builder(this) + .setTitle("需要文件访问权限") + .setMessage("本应用需要访问设备上的文件以提供完整功能") + .setPositiveButton("去设置", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); + intent.setData(Uri.parse("package:" + getPackageName())); + startActivityForResult(intent, REQUEST_MANAGE_STORAGE); + } + }) + .setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + System.exit(0); + } + }) + .show(); + } + + private void requestPermission() { + List permissionsNeeded = new ArrayList<>(); + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) + == PackageManager.PERMISSION_DENIED) { + permissionsNeeded.add(Manifest.permission.READ_PHONE_STATE); + } + if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) + == PackageManager.PERMISSION_DENIED) { + permissionsNeeded.add(Manifest.permission.CAMERA); + } + if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_DENIED) { + permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); + } + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_DENIED) { + permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE); + } + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) + == PackageManager.PERMISSION_DENIED) { + permissionsNeeded.add(Manifest.permission.READ_PHONE_STATE); + } +// if (ContextCompat.checkSelfPermission(this, Manifest.permission.MANAGE_EXTERNAL_STORAGE) +// == PackageManager.PERMISSION_DENIED) { +// permissionsNeeded.add(Manifest.permission.MANAGE_EXTERNAL_STORAGE); +// } + + if (permissionsNeeded.size() > 0) { + ActivityCompat.requestPermissions(this, permissionsNeeded.toArray(new + String[permissionsNeeded.size()]), 1); + } else { + Access(); + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + switch (requestCode) { + case 1: { + boolean allowed = true; + if (grantResults.length > 0) { + for (int i = 0; i < grantResults.length; i++) { + if (grantResults[i] != PackageManager.PERMISSION_GRANTED) { + allowed = false; + } + } + } + + if (!allowed) { + Toast.makeText(this, "部分权限被拒绝,可能无法正常使用系统!", Toast.LENGTH_SHORT).show(); + } + Access(); + break; + } + } + } + + @RequiresApi(api = Build.VERSION_CODES.R) + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == REQUEST_MANAGE_STORAGE) { + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + if (Environment.isExternalStorageManager()) { + // 用户已授予权限 + LogUtil.d(TAG, "用户已授予文件权限"); +// requestPermission(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + boolean haveInstallPermission = getPackageManager().canRequestPackageInstalls(); + LogUtil.d(TAG, "haveInstallPermission = " + haveInstallPermission); + if (!haveInstallPermission) { + //弹框提示用户手动打开 + new AlertDialog.Builder(getBaseContext()) + .setTitle("安装权限") + .setMessage("需要打开允许来自此来源,请去设置中开启此权限") + .setPositiveButton("去设置", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + //此方法需要API>=26才能使用 +// toInstallPermissionSettingIntent(); + } + } + }) + .setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }) + .show(); + } else { + requestPermission(); + } + } else { + requestPermission(); + } + } else { + // 用户拒绝授予权限 + LogUtil.d(TAG, "用户拒绝授予文件权限"); + } + } + } else if (requestCode == INSTALL_PERMISS_CODE) { + if (Environment.isExternalStorageManager()) { + // 用户已授予权限 + LogUtil.d(TAG, "用户已授予应用安装权限"); + requestPermission(); + } else { + // 用户拒绝授予权限 + LogUtil.d(TAG, "用户拒绝授予应用安装权限"); + } + } + } + @Override protected void initNet() { } diff --git a/src/com/ectrip/trips/view/CheckSwitchButton.java b/src/com/ectrip/trips/view/CheckSwitchButton.java index 064e75a..2bac592 100644 --- a/src/com/ectrip/trips/view/CheckSwitchButton.java +++ b/src/com/ectrip/trips/view/CheckSwitchButton.java @@ -320,10 +320,10 @@ public class CheckSwitchButton extends CheckBox { @Override protected void onDraw(Canvas canvas) { - canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.MATRIX_SAVE_FLAG - | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG - | Canvas.FULL_COLOR_LAYER_SAVE_FLAG - | Canvas.CLIP_TO_LAYER_SAVE_FLAG); +// canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.MATRIX_SAVE_FLAG +// | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG +// | Canvas.FULL_COLOR_LAYER_SAVE_FLAG +// | Canvas.CLIP_TO_LAYER_SAVE_FLAG); // canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.ALL_SAVE_FLAG); // 绘制蒙板 canvas.drawBitmap(mMask, 0, mExtendOffsetY, mPaint);