Global annotation and graffiti

Global annotation and graffiti

Ô´Âë¼ò½é

¿ ÉÒÔʵÏÖÈ«¾ÖÅú×¢£¬ÔÚÈκνçÃæ¶¼¿ ÉÒÔ½«Åú×¢±Êµ÷³öÀ´½øÐÐÅú×¢£¬Ö§³Ö¸ü»»±ÊµÄÑÕÉ«£¬´Öϸ£¬Ö§³ÖÈý¸öÊÖÖ¸²Á³ý£¬¿ ÉÒÔ¸ù¾ÝÊÖÖ¸¼ä¾à¾ö¶¨ÏðÆ¤µÄÃæ»ý£¬·½±ãÓÖÊ¡ ÐÄ£¡
Ô´ÂëÔËÐнØÍ¼

Ô´ÂëÆ¬¶Î£º

  1. package com.hht.annotation;
  2. import java.io.File;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.List;
  6.   
  7. import android.app.AlertDialog;
  8. import android.app.Dialog;
  9. import android.app.Service;
  10. import android.content.BroadcastReceiver;
  11. import android.content.ComponentName;
  12. import android.content.Context;
  13. import android.content.DialogInterface;
  14. import android.content.Intent;
  15. import android.content.IntentFilter;
  16. import android.content.ServiceConnection;
  17. import android.content.SharedPreferences;
  18. import android.content.SharedPreferences.Editor;
  19. import android.gesture.GestureLibrary;
  20. import android.graphics.Color;
  21. import android.graphics.PixelFormat;
  22. import android.graphics.drawable.BitmapDrawable;
  23. import android.net.Uri;
  24. import android.os.Bundle;
  25. import android.os.Environment;
  26. import android.os.Handler;
  27. import android.os.IBinder;
  28. import android.os.Message;
  29. import android.os.Messenger;
  30. import android.os.RemoteException;
  31. import android.util.Log;
  32. import android.view.Gravity;
  33. import android.view.LayoutInflater;
  34. import android.view.View;
  35. import android.view.View.OnClickListener;
  36. import android.view.View.OnLongClickListener;
  37. import android.view.Window;
  38. import android.view.WindowManager;
  39. import android.view.WindowManager.LayoutParams;
  40. import android.view.animation.Animation;
  41. import android.view.animation.AnimationUtils;
  42. import android.widget.Button;
  43. import android.widget.CompoundButton;
  44. import android.widget.CompoundButton.OnCheckedChangeListener;
  45. import android.widget.ImageView;
  46. import android.widget.PopupWindow;
  47. import android.widget.PopupWindow.OnDismissListener;
  48. import android.widget.RadioButton;
  49. import android.widget.RadioGroup;
  50. import android.widget.TextView;
  51. import android.widget.ToggleButton;
  52.   
  53. import com.hht.annotation.whiteboard.WhiteboardView;
  54. import com.hht.annotation.R;
  55.   
  56.   
  57. public   class SuspendService extends Service implements OnClickListener,
  58. OnCheckedChangeListener,OnLongClickListener {
  59. private WhiteboardView mView;
  60. private WindowManager wm;
  61. private LayoutParams wmParams;
  62. private LayoutParams wmParamsBg,wmGestrueBg,wmPPtLayout;
  63. private LayoutParams wmview_l;
  64. private ImageView arror_l;
  65. protected   boolean isMove = false ;
  66. protected   float mXd;
  67. protected   float mYd;
  68. private View bgView,ppt_left_and_right,gestrueBg,flort,homebar;
  69. private ToggleButton tg_black_l,tg_bule_l,tg_red_l, tg_glitterpen_orange,tg_glitterpen_green,tg_glitterpen_yellow,tg_laserpen_red, tg_eraser_l,tg_allapp;
  70. private Button home_screenshot, home_usb, home_settings, home_dockbar_ic_browser,btn_app2;
  71.       
  72. private PopupWindow pw_usb,pw_l,pw_menu,pw_pen,pw_glitterpen,pw_laserpen;
  73. private View contentView_l,contentView_pw_pen,contentView_pw_glitterpen;
  74. private View layout_clear_l;
  75. private View layout_screenshot_l;
  76. private View layout_print_l;
  77.       
  78. private Animation tool_in_l_anim, tool_out_l_anim;
  79.       
  80. private Button btn_per,btn_next,btn_undo_l,btn_screenshot,btn_toolbox,btn_down,btn_menu,btn_home_down;
  81.       
  82. private   boolean isPencilChecked = false ; // ʾ Ƿ ѡ  
  83. private BroadcastReceiver myReceiver;
  84.       
  85. private   static   final   int HIDESMARTBAR = 1 ;
  86. private   static   final   int STARTSMARTBAR = 2 ;
  87. private   static   final   int SCREENSHOT = 3 ;
  88. protected   static   final   int CHECKEDPEN = 4 ;
  89. private   static   final   int HIDEINTVSETTINGS = 8 ;
  90. private   static   final   int CLEARVIEW = 12 ;
  91. private   static   final   int ISSCREENSHOTING = 13 ;
  92. private   static   final   int WHITEBOARDSCREENSHOT = 15 ;
  93. private   static   final   int SHOWSMARTBAR = 17 ;
  94. private   static   final   int SHOWLAUCHER = 18 ;
  95. private   static   final   int SHOWALLAPP = 19 ;
  96.       
  97. protected   int size = 5 ;
  98. protected   int pen = 0 ;
  99. protected   int color = Color.BLACK;
  100.       
  101. protected   int glitterpen = 7 ;
  102. protected   int glitterpenSize = 30 ;
  103. protected   int glitterpenColor = Color.parseColor( "#2bdb00" );
  104.       
  105. protected   int laserpen = 7 ;
  106. protected   int laserpenSize = 30 ;
  107. protected   int laserpenColor = Color.GREEN;
  108.       
  109. private ToggleButton currentToggleButton_l = null ;
  110. private String mStrSavePath = "" ;
  111. private   boolean mIsPrinting = false ;
  112. public   static   final String PRINT_PREPARE_ACTION = "com.hht.printer.prepare" ;
  113.       
  114. public   static    boolean ActionShowScreenshots = false ;
  115. private    boolean isViewShow = false ;
  116. public   static List<string> imagesList;
  117.       
  118. private GestureLibrary mLibrary;
  119. private    boolean needShowAnnotationBar = false ;
  120. private    boolean needTouchPen = false ;
  121. private    boolean needShowLeftAndRight;
  122.       
  123. String cmpNameTemp = null ;
  124. protected   boolean isFileBrowser;
  125. @Override  
  126. public IBinder onBind(Intent arg0) {
  127.           
  128. return   null ;
  129. }
  130.       
  131. private Handler handler = new Handler() {
  132.           
  133. @Override  
  134. public   void handleMessage(Message msg) {
  135. switch (msg.what) {
  136. case SHOWSMARTBAR:
  137. break ;
  138. case STARTSMARTBAR:
  139.                       
  140. if (!isFileBrowser && !isWidgetBar){
  141.                           
  142. if (isHome){
  143. homebar.setVisibility(View.VISIBLE);
  144. flort.setVisibility(View.GONE);
  145. isShowPw_l = false ;
  146. dismissPopupWindow_l();
  147. checkIfshowView( false , false );
  148. hiteGesture( true );
  149. ppt_left_and_right.setVisibility(View.GONE);
  150. } else {
  151. homebar.setVisibility(View.GONE);
  152. flort.setVisibility(View.VISIBLE);
  153. if (pw_usb != null && pw_usb.isShowing()) {
  154. pw_usb.dismiss();
  155. }
  156. }
  157.                           
  158. if (isWhiteBoard ||isRecents){
  159. hiteGesture( true );
  160. }
  161. }
  162. Log.e( "Others77" , "isScreenshot" +isScreenshot+ "currentToggleButton_l" +currentToggleButton_l);
  163. break ;
  164. case HIDESMARTBAR:
  165.               
  166. tg_eraser_l.setChecked( false );
  167. setPenciIsChecked(tg_black_l,tg_bule_l,tg_red_l,tg_glitterpen_orange,tg_glitterpen_green,tg_glitterpen_yellow,tg_laserpen_red);
  168. bgView.setVisibility(View.GONE);
  169. mView.setVisibility(View.GONE);
  170. flort.setVisibility(View.GONE);
  171. homebar.setVisibility(View.GONE);
  172. isShowPw_l = false ;
  173. dismissPopupWindow_l();
  174. if (pw_usb != null && pw_usb.isShowing()) {
  175. pw_usb.dismiss();
  176. }
  177. break ;
  178. case HIDEINTVSETTINGS:
  179. Intent wintent = new Intent( "mstar.tv.broadcast.service" );
  180. wintent.putExtra(Intent.EXTRA_KEY_EVENT, 920 );
  181. sendOrderedBroadcast(wintent, null );
  182. noHide = true ;
  183. hiteSmartBar( false );
  184. break ;
  185.                   
  186. case SCREENSHOT:
  187. takeScreenshot( true );
  188. break ;
  189. case WHITEBOARDSCREENSHOT:
  190.                   
  191. Intent intent = new Intent( "com.hht.whiteboard.getaction" );
  192. intent.putExtra( "snapshot" , 1 );
  193. sendBroadcast(intent);
  194. break ;
  195. case ISSCREENSHOTING:
  196. isScreenshoting = false ;
  197. btn_screenshot.setEnabled( true );
  198. if (layout_print_l!= null ){
  199. layout_print_l.setEnabled( true );
  200. }
  201. break ;
  202. case CHECKEDPEN:
  203. if (currentToggleButton_l!= null ){
  204.                       
  205. currentToggleButton_l.setChecked( false );
  206. }
  207. hiteGesture( true );
  208. checkIfshowView( false , false );
  209. break ;
  210. case CLEARVIEW:
  211. clear();
  212. break ;
  213. case SHOWALLAPP:
  214. sendBroadcast( new Intent( "INTENT.ACTION.SHOW.ALLAPP" ));
  215. break ;
  216. case SHOWLAUCHER:
  217. sendBroadcast( new Intent( "INTENT.ACTION.SHOW.HOME" ));
  218. break ;
  219. default :
  220. break ;
  221.                   
  222. }
  223. super .handleMessage(msg);
  224. }
  225. };
  226. private   boolean removeAllView;
  227. private   boolean removeView;
  228. private   boolean noHide;
  229. private   boolean isScreenshot;
  230. private   boolean isHome;
  231. private   boolean isWhiteBoard = false ;
  232. public   boolean isRecents;
  233. public   boolean isWidgetBar;
  234. private RadioButton myRadioButton2;
  235. private   boolean isCrash;
  236. private   boolean isScreenshoting;
  237. private   boolean isShowPw_l;
  238. private   boolean isShowPw_l2;
  239. @Override  
  240. public   void onCreate() {
  241.           
  242. sp = getSharedPreferences( "smart_config" , MODE_PRIVATE);
  243.           
  244. tool_in_l_anim = AnimationUtils
  245. .loadAnimation( this , R.anim.translate_in);
  246. tool_out_l_anim = AnimationUtils.loadAnimation( this ,
  247. R.anim.translate_out);
  248. //ppt  
  249. ppt_left_and_right = LayoutInflater.from( this ).inflate(R.layout.ppt_left_and_right, null );
  250. btn_per = (Button) ppt_left_and_right.findViewById(R.id.btn_per);
  251. btn_next = (Button) ppt_left_and_right.findViewById(R.id.btn_next);
  252. btn_per.setOnClickListener( this );
  253. btn_next.setOnClickListener( this );
  254.           
  255. // Ҷ ߵ layout  
  256. flort = LayoutInflater.from( this ).inflate(R.layout.flort_pad_lf, null );
  257. isShowPw_l = false ;
  258. dismissPopupWindow_l();
  259. if (pw_usb != null && pw_usb.isShowing()) {
  260. pw_usb.dismiss();
  261. }
  262. // ؼ ij ʼ ͼ  
  263. tg_black_l = (ToggleButton) flort.findViewById(R.id.tg_black_l);
  264. currentToggleButton_l = tg_black_l;
  265. tg_black_l.setChecked( true );
  266. tg_bule_l = (ToggleButton) flort.findViewById(R.id.tg_bule_l);
  267. tg_red_l = (ToggleButton) flort.findViewById(R.id.tg_red_l);
  268. tg_glitterpen_orange = (ToggleButton) flort.findViewById(R.id.tg_glitterpen_orange);
  269. tg_glitterpen_green = (ToggleButton) flort.findViewById(R.id.tg_glitterpen_green);
  270. tg_glitterpen_yellow = (ToggleButton) flort.findViewById(R.id.tg_glitterpen_yellow);
  271. tg_laserpen_red = (ToggleButton) flort.findViewById(R.id.tg_laserpen_red);
  272. tg_eraser_l = (ToggleButton) flort.findViewById(R.id.tg_eraser_l);
  273.           
  274.           
  275. error_l = (ImageView) flort.findViewById(R.id.error_l);
  276. btn_undo_l = (Button) flort.findViewById(R.id.btn_undo_l);
  277. btn_screenshot = (Button) flort.findViewById(R.id.btn_screenshot);
  278. btn_toolbox = (Button) flort.findViewById(R.id.btn_toolbox);
  279. btn_down = (Button) flort.findViewById(R.id.btn_down);
  280. btn_menu = (Button) flort.findViewById(R.id.btn_menu);
  281.           
  282. tg_black_l.setOnCheckedChangeListener( this );
  283. tg_bule_l.setOnCheckedChangeListener( this );
  284. tg_red_l.setOnCheckedChangeListener( this );
  285. tg_glitterpen_orange.setOnCheckedChangeListener( this );
  286. tg_glitterpen_green.setOnCheckedChangeListener( this );
  287. tg_glitterpen_yellow.setOnCheckedChangeListener( this );
  288. tg_laserpen_red.setOnCheckedChangeListener( this );
  289. tg_eraser_l.setOnCheckedChangeListener( this );
  290. tg_bule_l.setOnCheckedChangeListener( this );
  291.           
  292. tg_black_l.setOnLongClickListener( this );
  293. tg_bule_l.setOnLongClickListener( this );
  294. tg_red_l.setOnLongClickListener( this );
  295. tg_glitterpen_orange.setOnLongClickListener( this );
  296. tg_glitterpen_green.setOnLongClickListener( this );
  297. tg_glitterpen_yellow.setOnLongClickListener( this );
  298. tg_bule_l.setOnLongClickListener( this );
  299. tg_laserpen_red.setOnLongClickListener( this );
  300.           
  301. error_l.setOnClickListener( this );
  302. btn_undo_l.setOnClickListener( this );
  303. btn_screenshot.setOnClickListener( this );
  304. btn_toolbox.setOnClickListener( this );
  305. btn_down.setOnClickListener( this );
  306. btn_menu.setOnClickListener( this );
  307. // homeBarLayout  
  308. homebar = LayoutInflater.from( this ).inflate(R.layout.homebar, null );
  309. // ؼ ij ʼ ͼ  
  310. home_screenshot = (Button) homebar.findViewById(R.id.home_screenshot);
  311. home_usb = (Button) homebar.findViewById(R.id.home_usb);
  312. home_settings = (Button) homebar.findViewById(R.id.home_settings);
  313. home_dockbar_ic_browser = (Button) homebar.findViewById(R.id.home_dockbar_ic_browser);
  314.           
  315. btn_app2 = (Button) homebar.findViewById(R.id.btn_app2);
  316. tg_allapp = (ToggleButton) homebar.findViewById(R.id.tg_allapp);
  317. btn_home_down = (Button) homebar.findViewById(R.id.btn_home_down);
  318.           
  319.           
  320. home_screenshot.setOnClickListener( this );
  321. home_usb.setOnClickListener( this );
  322. home_settings.setOnClickListener( this );
  323. home_dockbar_ic_browser.setOnClickListener( this );
  324. btn_app2.setOnClickListener( this );
  325. tg_allapp.setOnCheckedChangeListener( this );
  326. btn_home_down.setOnClickListener( this );
  327.           
  328.           
  329. bgView = LayoutInflater.from( this ).inflate(R.layout.annotation_bg, null );
  330. gestrueBg = LayoutInflater.from( this ).inflate(R.layout.gestrue_bg, null );
  331. //  
  332. mView = new WhiteboardView(getBaseContext());
  333. mView.setBackgroundColor(Color.TRANSPARENT);
  334. mView.setFocusable( true );
  335.           
  336. mView.requestFocus();
  337.           
  338. mView.setFocusableInTouchMode( true );
  339. // ʽ ӻ ÈÉʵ ֵ §¹  
  340. wm = (WindowManager) getApplicationContext().getSystemService( "window" );
  341. initUI();
  342.           
  343. }
  344. private   void initUI(){
  345. smartbar_translate_in = AnimationUtils.loadAnimation( this ,
  346. R.anim.smartbar_translate_in);
  347. smartbar_translate_out = AnimationUtils.loadAnimation( this ,
  348. R.anim.smartbar_translate_out);
  349.           
  350. wmParamsBg = new WindowManager.LayoutParams();
  351. wmParamsBg.type = 2002 ;
  352. wmParamsBg.format = 1 ;
  353. wmParamsBg.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
  354. | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
  355. wmParamsBg.width = WindowManager.LayoutParams.FILL_PARENT;
  356. wmParamsBg.height = WindowManager.LayoutParams.FILL_PARENT;
  357. bgView.setVisibility(View.VISIBLE);
  358. wm.addView(bgView, wmParamsBg);
  359.           
  360. wmGestrueBg = new WindowManager.LayoutParams();
  361. wmGestrueBg.type = 2002 ;
  362. wmGestrueBg.format = 1 ;
  363. wmGestrueBg.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
  364. | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
  365. wmGestrueBg.width = WindowManager.LayoutParams.FILL_PARENT;
  366. wmGestrueBg.height = WindowManager.LayoutParams.FILL_PARENT;
  367. wm.addView(gestrueBg, wmGestrueBg);
  368. gestrueBg.setVisibility(View.GONE);
  369.           
  370. wmPPtLayout = new WindowManager.LayoutParams();
  371. wmPPtLayout.type = 2002 ;
  372. wmPPtLayout.format = PixelFormat.TRANSLUCENT;
  373. // wmview_l.x = 200;  
  374. wmPPtLayout.y = 215 ;
  375. wmPPtLayout.gravity = Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM;
  376. wmPPtLayout.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
  377. | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
  378. wmPPtLayout.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE;
  379. wmPPtLayout.width = WindowManager.LayoutParams.WRAP_CONTENT;
  380. wmPPtLayout.height = WindowManager.LayoutParams.WRAP_CONTENT;
  381. wm.addView(ppt_left_and_right, wmPPtLayout);
  382. ppt_left_and_right.setVisibility(View.GONE);
  383.           
  384. wmParams = new WindowManager.LayoutParams();
  385. wmParams.type = 2002 ;
  386. wmParams.format = 1 ;
  387. wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
  388. | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
  389. wmParams.width = WindowManager.LayoutParams.FILL_PARENT;
  390. wmParams.height = WindowManager.LayoutParams.FILL_PARENT;
  391. mView.setVisibility(View.VISIBLE);
  392. wm.addView(mView, wmParams);
  393.           
  394. // ߱ ѡ ˵  
  395. wmview_l = new WindowManager.LayoutParams();
  396. wmview_l.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
  397. | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
  398. wmview_l.gravity = Gravity.LEFT|Gravity.TOP;
  399. wmview_l.format = PixelFormat.TRANSLUCENT;
  400. // wmview_l.x = 800;  
  401. wmview_l.y = 98 ;
  402. wmview_l.width =WindowManager.LayoutParams.WRAP_CONTENT;;
  403. wmview_l.height = WindowManager.LayoutParams.WRAP_CONTENT;; // λ ƶ Ѫˢ £ ȡ պ ͸  
  404. wmview_l.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE;
  405. wm.addView(flort, wmview_l);
  406. wmview_l.height = 150 ;
  407. wm.addView(homebar, wmview_l);
  408. homebar.setVisibility(View.GONE);
  409.           
  410. if (isPencilChecked == false ) {
  411. isViewShow = false ;
  412. }
  413. Log.e( "Others77" , "oncreate==isFileBrowser=" +isFileBrowser+ "isWhiteBoard=" +isWhiteBoard+ "isHome=" +isHome+ "====" );
  414.           
  415. // չ㲥ز  
  416. myReceiver = new MyReceiver();
  417. filter = new IntentFilter();
  418. filter.addAction( "com.hht.hidesmartbar" );
  419. filter.addAction( "com.hht.hidesmartbar.for.ppt" );
  420. filter.addAction( "com.hht.showsmartbar" );
  421. filter.addAction( "com.widget.open" );
  422. filter.addAction( "com.widget.close" );
  423. filter.addAction( "com.hht.hidemartbar.new" );
  424. filter.addAction( "com.hht.hidemartbar.system" );
  425. filter.addAction( "com.hht.toolbar.anno.paint_gone" );
  426. filter.addAction( "com.hht.toolbar.anno.paint_show" );
  427. filter.addAction( "com.hht.showmartbar.system" );
  428. filter.addAction( "com.hht.showmartbar.system.recents" );
  429. filter.addAction( "com.hht.hidemartbar.new.home" );
  430. filter.addAction( "com.hht.showmartbar.new.home" );
  431. filter.addAction( "com.hht.showmartbar.new.screenshot" );
  432.           
  433. filter.addAction( "com.hht.hidemartbar.new.fb" );
  434. filter.addAction( "com.hht.showmartbar.new.fb" );
  435. filter.addAction( "com.hht.showmartbar.new.wb" );
  436. filter.addAction( "com.hht.showmartbar.new.wb.set" );
  437. filter.addAction( "com.hht.showmartbar.new.crash" );
  438. filter.addAction( "com.hht.showmartbar.new" );
  439. filter.addAction( "com.hht.hidesmartbar.dismisspop" );
  440. filter.setPriority( 1000 );
  441. registerReceiver(myReceiver, filter);
  442.           
  443. }
  444. private   void checkIfshowView( boolean showView, boolean screenshot){
  445. if (showView){
  446. if (flort.getVisibility() ==View.GONE && homebar.getVisibility() ==View.GONE ){
  447. } else {
  448. mView.setVisibility(View.VISIBLE);
  449. bgView.setVisibility(View.VISIBLE);
  450. }
  451. } else {
  452. if (screenshot){
  453. mView.setVisibility(View.INVISIBLE);
  454. bgView.setVisibility(View.INVISIBLE);
  455. } else {
  456. mView.setVisibility(View.GONE);
  457. bgView.setVisibility(View.GONE);
  458. }
  459. }
  460. }
  461. private   void isLaucher() {
  462. noHide = false ;
  463. checkIfshowView( false , false );
  464. hiteGesture( true );
  465. homebar.setVisibility(View.VISIBLE);
  466. flort.setVisibility(View.GONE);
  467. dismissPopupWindow_l();
  468. tg_eraser_l.setChecked( false );
  469. setPenciIsChecked(tg_black_l,tg_bule_l,tg_red_l,tg_glitterpen_orange,tg_glitterpen_green,tg_glitterpen_yellow,tg_laserpen_red);
  470. Log.e( "Others77" , "1515" );
  471.           
  472. }
  473. private   void hiteGesture( boolean hite) {
  474. if (hite){
  475. ppt_left_and_right.setVisibility(View.GONE);
  476. gestrueBg.setVisibility(View.GONE);
  477. } else {
  478. ppt_left_and_right.setVisibility(View.VISIBLE);
  479. gestrueBg.setVisibility(View.VISIBLE);
  480. }
  481.           
  482. }
  483. class MyReceiver extends BroadcastReceiver {
  484.           
  485. @Override  
  486. public   void onReceive(Context context, Intent intent) {
  487.               
  488. Editor editor = sp.edit();
  489.               
  490. if (intent.getAction().equals( "com.hht.hidesmartbar.dismisspop" )){
  491. if (pw_l != null && pw_l.isShowing()) {
  492. pw_l.dismiss();
  493. }

Ô´ÂëµØÖ·£ºhttp://down..com/data/1978601

<<:  Nine-grid password lock entry program

>>:  Cocos 2d-JS Chinese version API documentation is officially launched

Recommend

The 2nd New Media Business IP Training Camp Course Video

In the new media era, it is not just text content...

How to do advertising and marketing? Don't be too rational!

In our daily lives, seemingly rational consumptio...

Ideas for building a Sogou promotion account

1. Why choose Sogou Search 1. Sogou Trends Let...

Even bullets can’t break it, why is Rupert’s Tear so magical?

There is a very interesting little thing called &...

Uber's new vice president Frye: Former CEO Kalanick may return

Frye said: "Kalanick also wants the best for ...

Google phone exposed to have a defect: it bends when you bend it

The Nexus 6P mobile phone, which is commonly know...

From rejection to acceptance, Chanel also started to engage in e-commerce

Chanel, a luxury brand that has always been again...