55import android .os .Bundle ;
66import android .os .Environment ;
77import android .os .Handler ;
8+ import android .text .TextUtils ;
9+ import android .util .Log ;
810import android .view .Gravity ;
9- import android .widget .Button ;
1011import android .widget .Toast ;
1112
1213import androidx .annotation .Nullable ;
14+ import androidx .core .content .ContextCompat ;
1315
1416import com .alibaba .android .arouter .facade .annotation .Route ;
15- import com .chtj .base_framework .FScreentTools ;
1617import com .chtj .base_framework .FStorageTools ;
1718import com .chtj .base_framework .entity .CommonValue ;
1819import com .chtj .base_framework .entity .IpConfigInfo ;
2324import com .face_chtj .base_iotutils .AudioUtils ;
2425import com .face_chtj .base_iotutils .BaseIotUtils ;
2526import com .face_chtj .base_iotutils .DeviceUtils ;
27+ import com .face_chtj .base_iotutils .DisplayUtils ;
28+ import com .face_chtj .base_iotutils .FileDialogSelectUtils ;
2629import com .face_chtj .base_iotutils .GlobalDialogUtils ;
2730import com .face_chtj .base_iotutils .KLog ;
2831import com .face_chtj .base_iotutils .NetUtils ;
2932import com .face_chtj .base_iotutils .NotifyUtils ;
33+ import com .face_chtj .base_iotutils .ShellUtils ;
3034import com .face_chtj .base_iotutils .TPoolSingleUtils ;
3135import com .face_chtj .base_iotutils .TPoolUtils ;
36+ import com .face_chtj .base_iotutils .TimeUtils ;
3237import com .face_chtj .base_iotutils .ToastUtils ;
3338import com .face_chtj .base_iotutils .UriPathUtils ;
3439import com .face_chtj .base_iotutils .callback .IDismissListener ;
40+ import com .face_chtj .base_iotutils .code .CodeUtils ;
3541import com .face_chtj .base_iotutils .view .OnPopupItemClickListener ;
3642import com .ichtj .basetools .allapp .AllAppAty ;
3743import com .ichtj .basetools .audio .AudioAty ;
5965import com .ichtj .basetools .timer .TimerAty ;
6066import com .ichtj .basetools .touch .TouchDetectAty ;
6167import com .face_chtj .base_iotutils .view .PopupWindowTools ;
68+ import com .ichtj .basetools .util .BasicTools ;
6269import com .ichtj .basetools .util .CustomButtonGridView ;
6370import com .ichtj .basetools .util .FKey ;
6471import com .ichtj .basetools .util .JXLExcelUtils ;
7178import com .ichtj .basetools .video .VideoPlayAty ;
7279import com .ichtj .basetools .webviews .WebViewAty ;
7380
81+ import java .io .File ;
7482import java .io .InputStream ;
7583import java .util .Arrays ;
7684import java .util .HashMap ;
@@ -156,6 +164,9 @@ public Map<Integer, String> getDisplayBtn() {
156164 btnList .put (FKey .KEY_WEBVIEW_TEST , getString (R .string .main_test_webview ));
157165 btnList .put (FKey .KEY_POPWINDOW , getString (R .string .main_popwindow_toast ));
158166 btnList .put (FKey .KEY_DROP_POPWINDOW , getString (R .string .main_pull_down_option_box ));
167+ btnList .put (FKey .KEY_QR_CODE , getString (R .string .main_qrcode_create ));
168+ btnList .put (FKey .KEY_ORIENTATION , getString (R .string .main_screen_orientation ));
169+ btnList .put (FKey .KEY_FILE_SELECT , getString (R .string .main_file_dialog_select ));
159170 return btnList ;
160171 }
161172
@@ -329,8 +340,9 @@ public void run() {
329340 }
330341 break ;
331342 case FKey .KEY_SCREENSHOT :
332- String imgPath = FScreentTools .takeScreenshot ("/sdcard/" );
333- if (imgPath != null && !imgPath .equals ("" )) {
343+ String filePath ="/sdcard/" +TimeUtils .getTodayDateHms ("yyyyMMddHHmmss" )+".png" ;
344+ boolean isSucc = DisplayUtils .screenshot (filePath );
345+ if (isSucc ) {
334346 ToastUtils .success (getString (R .string .main_screenshot_succ_toast ));
335347 } else {
336348 ToastUtils .error (getString (R .string .main_screenshot_failed ));
@@ -431,7 +443,7 @@ public void run() {
431443 VIEW_FALG =0 ;
432444 }
433445 PopupWindowTools bubblePopupWindow = new PopupWindowTools (MainActivity .this );
434- bubblePopupWindow .setBubbleText ("这是一条气泡消息" );
446+ bubblePopupWindow .setBubbleText (getString ( R . string . main_pop_remarks ) );
435447 bubblePopupWindow .show (customButtonGridView .getSelectButton (), gravityValue );//view的上部展示
436448 break ;
437449 case FKey .KEY_DROP_POPWINDOW :
@@ -444,9 +456,38 @@ public void onItemClick(int position, String itemText) {
444456 }
445457 });
446458 break ;
459+ case FKey .KEY_QR_CODE :
460+ BasicTools .showTwoScaledBitmapsDialog (this ,CodeUtils .createBarCode ("www.baidu.com" ,200 ,100 ),CodeUtils .createQRCode ("www.baidu.com" ,200 , ContextCompat .getColor (this ,R .color .black )));
461+ break ;
462+ case FKey .KEY_ORIENTATION :
463+ ShellUtils .CommandResult rotationResult = ShellUtils .execCommand ("settings get system user_rotation" ,true );
464+ Log .d (TAG , "rotationResult: result>>" +rotationResult .result +",succ>>" +rotationResult .successMsg +",err>>" +rotationResult .errorMsg );
465+ if (rotationResult .result ==0 && !TextUtils .isEmpty (rotationResult .successMsg )){
466+ int rotationValue =0 ;
467+ try {
468+ rotationValue =Integer .parseInt (rotationResult .successMsg );
469+ }catch (Throwable throwable ){
470+ }
471+ rotationValue ++;
472+ if (rotationValue >3 ){
473+ rotationValue =0 ;
474+ }
475+ DisplayUtils .changeRotation (rotationValue );
476+ }
477+ break ;
478+ case FKey .KEY_FILE_SELECT :
479+ FileDialogSelectUtils fileDialogSelectUtils =new FileDialogSelectUtils (this , new File ("/sdcard/" ), new FileDialogSelectUtils .FileSelectCallback () {
480+ @ Override
481+ public void onFileSelected (List <File > selected ) {
482+ Log .d (TAG , "onFileSelected: " +selected );
483+ }
484+ }).setSizeRatio (0.3f ,0.5f );
485+ fileDialogSelectUtils .show ();
486+ break ;
447487 }
448488 }
449489
490+
450491 @ Override
451492 protected void onActivityResult (int requestCode , int resultCode , Intent data ) {
452493 super .onActivityResult (requestCode , resultCode , data );
0 commit comments