Showing
2 changed files
with
204 additions
and
71 deletions
| 1 | package com.gimi.common.cinema.utils; | 1 | package com.gimi.common.cinema.utils; |
| 2 | 2 | ||
| 3 | -import android.annotation.SuppressLint; | ||
| 4 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | +import android.media.MediaPlayer; | ||
| 5 | import android.text.TextUtils; | 5 | import android.text.TextUtils; |
| 6 | import android.util.Log; | 6 | import android.util.Log; |
| 7 | import com.gimi.common.cinema.model.AsyncCallback; | 7 | import com.gimi.common.cinema.model.AsyncCallback; |
| @@ -15,8 +15,18 @@ import com.xgimi.gimicinema.R; | @@ -15,8 +15,18 @@ import com.xgimi.gimicinema.R; | ||
| 15 | import com.xgimi.gimicinema.activity.CinemaConfig; | 15 | import com.xgimi.gimicinema.activity.CinemaConfig; |
| 16 | 16 | ||
| 17 | import java.io.File; | 17 | import java.io.File; |
| 18 | +import java.io.IOException; | ||
| 18 | import java.util.ArrayList; | 19 | import java.util.ArrayList; |
| 20 | +import java.util.Arrays; | ||
| 19 | import java.util.HashMap; | 21 | import java.util.HashMap; |
| 22 | +import java.util.List; | ||
| 23 | +import java.util.concurrent.Callable; | ||
| 24 | +import java.util.concurrent.Future; | ||
| 25 | +import java.util.concurrent.LinkedBlockingDeque; | ||
| 26 | +import java.util.concurrent.ThreadFactory; | ||
| 27 | +import java.util.concurrent.ThreadPoolExecutor; | ||
| 28 | +import java.util.concurrent.TimeUnit; | ||
| 29 | +import java.util.concurrent.atomic.AtomicInteger; | ||
| 20 | 30 | ||
| 21 | /** | 31 | /** |
| 22 | * movie scan | 32 | * movie scan |
| @@ -25,7 +35,6 @@ import java.util.HashMap; | @@ -25,7 +35,6 @@ import java.util.HashMap; | ||
| 25 | public class LocalMovieScanUtils { | 35 | public class LocalMovieScanUtils { |
| 26 | private String[] picExtensions; | 36 | private String[] picExtensions; |
| 27 | private String[] mediaExtensions; | 37 | private String[] mediaExtensions; |
| 28 | -// private ArrayList<SaveMessage> result = new ArrayList<>(); | ||
| 29 | 38 | ||
| 30 | public LocalMovieScanUtils(Context context) { | 39 | public LocalMovieScanUtils(Context context) { |
| 31 | picExtensions = context.getResources().getStringArray(R.array.photo_filter); | 40 | picExtensions = context.getResources().getStringArray(R.array.photo_filter); |
| @@ -45,7 +54,7 @@ public class LocalMovieScanUtils { | @@ -45,7 +54,7 @@ public class LocalMovieScanUtils { | ||
| 45 | FolderItem folderItem = new FolderItem(); | 54 | FolderItem folderItem = new FolderItem(); |
| 46 | folderItem.setFolderName(fileDir); | 55 | folderItem.setFolderName(fileDir); |
| 47 | folderItem.setFolderPath(rootPath + fileDir + "/"); | 56 | folderItem.setFolderPath(rootPath + fileDir + "/"); |
| 48 | -// if (fileDir.contains("3D")) { | 57 | +// if (fileDir.contains("AQ")) { |
| 49 | types.add(folderItem); | 58 | types.add(folderItem); |
| 50 | // } | 59 | // } |
| 51 | } | 60 | } |
| @@ -181,6 +190,7 @@ public class LocalMovieScanUtils { | @@ -181,6 +190,7 @@ public class LocalMovieScanUtils { | ||
| 181 | * @return ArrayList<LocalMovieMessage> | 190 | * @return ArrayList<LocalMovieMessage> |
| 182 | */ | 191 | */ |
| 183 | ArrayList<LocalMovieMessage> getAllLocalMovie(String rootPath, String folder, AsyncCallback<Integer> callback) { | 192 | ArrayList<LocalMovieMessage> getAllLocalMovie(String rootPath, String folder, AsyncCallback<Integer> callback) { |
| 193 | + Log.d("scan-time", "start:" + System.currentTimeMillis()); | ||
| 184 | ArrayList<String> all = new ArrayList<>(); | 194 | ArrayList<String> all = new ArrayList<>(); |
| 185 | File file = new File(rootPath); | 195 | File file = new File(rootPath); |
| 186 | if (file.listFiles() != null) { | 196 | if (file.listFiles() != null) { |
| @@ -226,7 +236,7 @@ public class LocalMovieScanUtils { | @@ -226,7 +236,7 @@ public class LocalMovieScanUtils { | ||
| 226 | moviesItems.addAll(getAllType(type.getFolderPath(), callback)); | 236 | moviesItems.addAll(getAllType(type.getFolderPath(), callback)); |
| 227 | } | 237 | } |
| 228 | } | 238 | } |
| 229 | -// FileReadUtils.writeDate(rootPath + "/length.txt", new Gson().toJson(result)); | 239 | + Log.d("scan-time", " end:" + System.currentTimeMillis()); |
| 230 | return moviesItems; | 240 | return moviesItems; |
| 231 | } | 241 | } |
| 232 | 242 | ||
| @@ -249,69 +259,193 @@ public class LocalMovieScanUtils { | @@ -249,69 +259,193 @@ public class LocalMovieScanUtils { | ||
| 249 | * @param callback callback | 259 | * @param callback callback |
| 250 | * @return ArrayList<LocalMovieMessage> | 260 | * @return ArrayList<LocalMovieMessage> |
| 251 | */ | 261 | */ |
| 252 | - @SuppressLint("SdCardPath") | ||
| 253 | private ArrayList<LocalMovieMessage> getAllType(String rootPath, AsyncCallback<Integer> callback) { | 262 | private ArrayList<LocalMovieMessage> getAllType(String rootPath, AsyncCallback<Integer> callback) { |
| 254 | ArrayList<LocalMovieMessage> movies = new ArrayList<>(); | 263 | ArrayList<LocalMovieMessage> movies = new ArrayList<>(); |
| 255 | if (rootPath.contains("lost+found")) { | 264 | if (rootPath.contains("lost+found")) { |
| 256 | return movies; | 265 | return movies; |
| 257 | } | 266 | } |
| 267 | + if (callback != null) { | ||
| 268 | + String[] split = rootPath.split("/"); | ||
| 269 | + callback.onMessage(split[split.length - 1]); | ||
| 270 | + } | ||
| 258 | File file = new File(rootPath); | 271 | File file = new File(rootPath); |
| 259 | String[] fileDirs = file.list(); | 272 | String[] fileDirs = file.list(); |
| 260 | //遍历 | 273 | //遍历 |
| 261 | if (fileDirs == null || fileDirs.length == 0) { | 274 | if (fileDirs == null || fileDirs.length == 0) { |
| 262 | return movies; | 275 | return movies; |
| 263 | } | 276 | } |
| 264 | - for (String fileDir : fileDirs) { | ||
| 265 | - File curFiles = new File(rootPath + fileDir); | ||
| 266 | - if (curFiles.isDirectory()) { | ||
| 267 | - if (callback != null) { | ||
| 268 | - callback.onMessage(fileDir); | ||
| 269 | - } | ||
| 270 | - String curPath = curFiles.getAbsoluteFile().toString(); | ||
| 271 | - LocalMovieMessage moviesItem = new LocalMovieMessage(); | ||
| 272 | - String name = NameFilterUtils.getName(fileDir).trim(); | ||
| 273 | - moviesItem.setMovieName(name); | ||
| 274 | - String allFirstSpell = PinyinUtil.getAllFirstSpell(name); | ||
| 275 | - String newStr = allFirstSpell.replaceAll("[^\\w,]", ""); | ||
| 276 | - moviesItem.setNamePinyin(newStr); | ||
| 277 | - String media = getMedia(curPath + "/", mediaExtensions); | ||
| 278 | - String poster; | ||
| 279 | - poster = MovieMessageUtils.getLocalMoviePoster(curPath); | ||
| 280 | - if (TextUtils.isEmpty(poster)) { | ||
| 281 | - poster = getMediaPicture(curPath + "/", picExtensions); | ||
| 282 | - } | ||
| 283 | - if (!TextUtils.isEmpty(poster)) { | ||
| 284 | - moviesItem.setPosterPath(poster); | ||
| 285 | - } | ||
| 286 | - if (!TextUtils.isEmpty(media)) { | ||
| 287 | - File mFile = new File(media); | ||
| 288 | - long length = mFile.length(); | ||
| 289 | - String md5 = MD5Utils.stringMD5(FileHashUtils.getFileHash(media)); | ||
| 290 | - moviesItem.setMd5(md5); | ||
| 291 | - //read douban id and douban msg,至于name id 信息另外做,没有必要每次更新时都去添加 | ||
| 292 | - try { | ||
| 293 | - setDoubanMsg(curPath, moviesItem); | ||
| 294 | - } catch (Exception e) { | ||
| 295 | - Log.e("otherError", media); | ||
| 296 | - e.printStackTrace(); | 277 | + int length = fileDirs.length; |
| 278 | + int coreCount = 8; | ||
| 279 | + int poolCount = 9; | ||
| 280 | + ThreadPoolExecutor myExecutor = new ThreadPoolExecutor(coreCount, poolCount, | ||
| 281 | + 200, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>()); | ||
| 282 | + List<Future<ArrayList<LocalMovieMessage>>> results = new ArrayList<>(); | ||
| 283 | + for (int i = 0; i < coreCount; i++) { | ||
| 284 | + ScanTask task = new ScanTask(rootPath, Arrays.copyOfRange( | ||
| 285 | + fileDirs, length * i / coreCount, (length * (i + 1)) / coreCount)); | ||
| 286 | + Future<ArrayList<LocalMovieMessage>> result = myExecutor.submit(task); | ||
| 287 | + results.add(result); | ||
| 288 | + } | ||
| 289 | + for (Future<ArrayList<LocalMovieMessage>> f : results) { | ||
| 290 | + try { | ||
| 291 | + movies.addAll(f.get()); | ||
| 292 | + } catch (Exception ex) { | ||
| 293 | + ex.printStackTrace(); | ||
| 294 | + f.cancel(true); | ||
| 295 | + } | ||
| 296 | + } | ||
| 297 | + myExecutor.shutdown(); | ||
| 298 | +// for (String fileDir : fileDirs) { | ||
| 299 | +// File curFiles = new File(rootPath + fileDir); | ||
| 300 | +// if (curFiles.isDirectory()) { | ||
| 301 | +// if (callback != null) { | ||
| 302 | +// callback.onMessage(fileDir); | ||
| 303 | +// } | ||
| 304 | +// String curPath = curFiles.getAbsoluteFile().toString(); | ||
| 305 | +// LocalMovieMessage moviesItem = new LocalMovieMessage(); | ||
| 306 | +// String name = NameFilterUtils.getName(fileDir).trim(); | ||
| 307 | +// moviesItem.setMovieName(name); | ||
| 308 | +// String allFirstSpell = PinyinUtil.getAllFirstSpell(name); | ||
| 309 | +// String newStr = allFirstSpell.replaceAll("[^\\w,]", ""); | ||
| 310 | +//// Log.d("lovely_pinyin", allFirstSpell + ":" + newStr); | ||
| 311 | +// moviesItem.setNamePinyin(newStr); | ||
| 312 | +// String media = getMedia(curPath + "/", mediaExtensions); | ||
| 313 | +// String poster; | ||
| 314 | +// poster = MovieMessageUtils.getLocalMoviePoster(curPath); | ||
| 315 | +// if (TextUtils.isEmpty(poster)) { | ||
| 316 | +// poster = getMediaPicture(curPath + "/", picExtensions); | ||
| 317 | +// } | ||
| 318 | +// if (!TextUtils.isEmpty(poster)) { | ||
| 319 | +// moviesItem.setPosterPath(poster); | ||
| 320 | +// } | ||
| 321 | +// if (!TextUtils.isEmpty(media)) { | ||
| 322 | +// File mFile = new File(media); | ||
| 323 | +//// long length = mFile.length(); | ||
| 324 | +// moviesItem.setMd5(MD5Utils.stringMD5(FileHashUtils.getFileHash(media))); | ||
| 325 | +// //read douban id and douban msg,至于name id 信息另外做,没有必要每次更新时都去添加 | ||
| 326 | +// try { | ||
| 327 | +// setDoubanMsg(curPath, moviesItem); | ||
| 328 | +// } catch (Exception e) { | ||
| 329 | +// Log.e("otherError", media); | ||
| 330 | +// e.printStackTrace(); | ||
| 331 | +// } | ||
| 332 | +// moviesItem.setType(fileDir); | ||
| 333 | +// moviesItem.setPlayPath(media); | ||
| 334 | +// String movieDlTime = String.valueOf(mFile.lastModified()); | ||
| 335 | +// moviesItem.setMovieLength(movieDlTime); | ||
| 336 | +// moviesItem.setDlTime(movieDlTime); | ||
| 337 | +// moviesItem.setCount(MovieMessageUtils.getPlayCount(curPath)); | ||
| 338 | +// movies.add(moviesItem); | ||
| 339 | +// } | ||
| 340 | +// } | ||
| 341 | +// } | ||
| 342 | + return movies; | ||
| 343 | + } | ||
| 344 | + | ||
| 345 | + private class ScanTask implements Callable<ArrayList<LocalMovieMessage>> { | ||
| 346 | + private String rootPath; | ||
| 347 | + private String[] dirs; | ||
| 348 | + | ||
| 349 | + private ScanTask(String rootPath, String[] dirs) { | ||
| 350 | + this.rootPath = rootPath; | ||
| 351 | + this.dirs = dirs; | ||
| 352 | + } | ||
| 353 | + | ||
| 354 | + @Override | ||
| 355 | + public ArrayList<LocalMovieMessage> call() throws Exception { | ||
| 356 | + ArrayList<LocalMovieMessage> movies = new ArrayList<>(); | ||
| 357 | + for (String fileDir : dirs) { | ||
| 358 | + File curFiles = new File(rootPath + fileDir); | ||
| 359 | + if (curFiles.isDirectory()) { | ||
| 360 | + String curPath = curFiles.getAbsoluteFile().toString(); | ||
| 361 | + LocalMovieMessage moviesItem = new LocalMovieMessage(); | ||
| 362 | + String name = NameFilterUtils.getName(fileDir).trim(); | ||
| 363 | + moviesItem.setMovieName(name); | ||
| 364 | + String allFirstSpell = PinyinUtil.getAllFirstSpell(name); | ||
| 365 | + String newStr = allFirstSpell.replaceAll("[^\\w,]", ""); | ||
| 366 | + moviesItem.setNamePinyin(newStr); | ||
| 367 | + String media = getMedia(curPath + "/", mediaExtensions); | ||
| 368 | + String poster; | ||
| 369 | + poster = MovieMessageUtils.getLocalMoviePoster(curPath); | ||
| 370 | + if (TextUtils.isEmpty(poster)) { | ||
| 371 | + poster = getMediaPicture(curPath + "/", picExtensions); | ||
| 372 | + } | ||
| 373 | + if (!TextUtils.isEmpty(poster)) { | ||
| 374 | + moviesItem.setPosterPath(poster); | ||
| 375 | + } | ||
| 376 | + if (!TextUtils.isEmpty(media)) { | ||
| 377 | + File mFile = new File(media); | ||
| 378 | +// long length = mFile.length(); | ||
| 379 | + moviesItem.setMd5(MD5Utils.stringMD5(FileHashUtils.getFileHash(media))); | ||
| 380 | + //read douban id and douban msg,至于name id 信息另外做,没有必要每次更新时都去添加 | ||
| 381 | + try { | ||
| 382 | + setDoubanMsg(curPath, moviesItem); | ||
| 383 | + } catch (Exception e) { | ||
| 384 | + Log.e("otherError", media); | ||
| 385 | + e.printStackTrace(); | ||
| 386 | + } | ||
| 387 | + moviesItem.setType(fileDir); | ||
| 388 | + moviesItem.setPlayPath(media); | ||
| 389 | + String movieDlTime = String.valueOf(mFile.lastModified()); | ||
| 390 | + moviesItem.setMovieLength(movieDlTime); | ||
| 391 | + moviesItem.setDlTime(movieDlTime); | ||
| 392 | + moviesItem.setCount(MovieMessageUtils.getPlayCount(curPath)); | ||
| 393 | + movies.add(moviesItem); | ||
| 394 | + curPath = null; | ||
| 395 | + name = null; | ||
| 396 | + allFirstSpell = null; | ||
| 397 | + newStr = null; | ||
| 398 | + media = null; | ||
| 399 | + poster = null; | ||
| 400 | + movieDlTime = null; | ||
| 297 | } | 401 | } |
| 298 | -// SaveMessage saveMessage = new SaveMessage(); | ||
| 299 | -// saveMessage.setFile_hash(md5); | ||
| 300 | -// long movieLength = getMovieLength(media); | ||
| 301 | -// int len = (int) (movieLength / 60); | ||
| 302 | -// saveMessage.setLength(len+""); | ||
| 303 | -// result.add(saveMessage); | ||
| 304 | - moviesItem.setType(fileDir); | ||
| 305 | - moviesItem.setPlayPath(media); | ||
| 306 | - String movieDlTime = String.valueOf(mFile.lastModified()); | ||
| 307 | - moviesItem.setMovieLength(movieDlTime); | ||
| 308 | - moviesItem.setDlTime(movieDlTime); | ||
| 309 | - moviesItem.setCount(MovieMessageUtils.getPlayCount(curPath)); | ||
| 310 | - movies.add(moviesItem); | ||
| 311 | } | 402 | } |
| 312 | } | 403 | } |
| 404 | + return movies; | ||
| 313 | } | 405 | } |
| 314 | - return movies; | 406 | + } |
| 407 | + | ||
| 408 | + /** | ||
| 409 | + * The default thread factory. | ||
| 410 | + */ | ||
| 411 | + private static class MyThreadFactory implements ThreadFactory { | ||
| 412 | + private static final AtomicInteger poolNumber = new AtomicInteger(1); | ||
| 413 | + private final ThreadGroup group; | ||
| 414 | + private final AtomicInteger threadNumber = new AtomicInteger(1); | ||
| 415 | + private final String namePrefix; | ||
| 416 | + | ||
| 417 | + MyThreadFactory() { | ||
| 418 | + SecurityManager s = System.getSecurityManager(); | ||
| 419 | + group = (s != null) ? s.getThreadGroup() : | ||
| 420 | + Thread.currentThread().getThreadGroup(); | ||
| 421 | + namePrefix = "pool-" + | ||
| 422 | + poolNumber.getAndIncrement() + | ||
| 423 | + "-thread-"; | ||
| 424 | + } | ||
| 425 | + | ||
| 426 | + public Thread newThread(Runnable r) { | ||
| 427 | + Thread t = new Thread(group, r, | ||
| 428 | + namePrefix + threadNumber.getAndIncrement(), | ||
| 429 | + 0); | ||
| 430 | + | ||
| 431 | + t.setDaemon(true); | ||
| 432 | + if (t.getPriority() != Thread.NORM_PRIORITY) | ||
| 433 | + t.setPriority(Thread.NORM_PRIORITY); | ||
| 434 | + return t; | ||
| 435 | + } | ||
| 436 | + } | ||
| 437 | + | ||
| 438 | + private synchronized long getDuration(String path) { | ||
| 439 | + long in = System.currentTimeMillis(); | ||
| 440 | + MediaPlayer mMediaPlayer = new MediaPlayer(); | ||
| 441 | + try { | ||
| 442 | + mMediaPlayer.setDataSource(path); | ||
| 443 | + } catch (IOException e) { | ||
| 444 | + e.printStackTrace(); | ||
| 445 | + } | ||
| 446 | + int duration = mMediaPlayer.getDuration(); | ||
| 447 | + Log.d("duration", (System.currentTimeMillis() - in) + ":" + duration); | ||
| 448 | + return duration; | ||
| 315 | } | 449 | } |
| 316 | 450 | ||
| 317 | private long getMovieLength(String mUri) { | 451 | private long getMovieLength(String mUri) { |
| @@ -337,6 +471,6 @@ public class LocalMovieScanUtils { | @@ -337,6 +471,6 @@ public class LocalMovieScanUtils { | ||
| 337 | mmr.release(); | 471 | mmr.release(); |
| 338 | } | 472 | } |
| 339 | Log.d("getAllType", "" + (System.currentTimeMillis() - l)); | 473 | Log.d("getAllType", "" + (System.currentTimeMillis() - l)); |
| 340 | - return duration / 1000; | 474 | + return duration; |
| 341 | } | 475 | } |
| 342 | } | 476 | } |
| @@ -29,21 +29,16 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | @@ -29,21 +29,16 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | ||
| 29 | public static final int KILL_SELF = 0x9983; | 29 | public static final int KILL_SELF = 0x9983; |
| 30 | private Handler handler = new Handler(); | 30 | private Handler handler = new Handler(); |
| 31 | private QrCodeShowPresent present; | 31 | private QrCodeShowPresent present; |
| 32 | - Runnable r = new Runnable() { | ||
| 33 | - @Override | ||
| 34 | - public void run() { | ||
| 35 | - closeSystem(); | ||
| 36 | - } | ||
| 37 | - }; | 32 | +// Runnable r = new Runnable() { |
| 33 | +// @Override | ||
| 34 | +// public void run() { | ||
| 35 | +// closeSystem(); | ||
| 36 | +// } | ||
| 37 | +// }; | ||
| 38 | 38 | ||
| 39 | - private void closeSystem() { | ||
| 40 | - LogUtils.i("closeSystem"); | ||
| 41 | - LightOperationUtils.close(); | ||
| 42 | - LightOperationUtils.setLightValue(5); | ||
| 43 | - new SystemUtils().closeFtLed(QrCodeShowActivity.this.getApplicationContext()); | ||
| 44 | - present.reportSleepStatus(orderSn, roomSn); | ||
| 45 | - QrCodeShowActivity.this.finish(); | ||
| 46 | - } | 39 | +// private void closeSystem() { |
| 40 | +// | ||
| 41 | +// } | ||
| 47 | 42 | ||
| 48 | private String orderSn; | 43 | private String orderSn; |
| 49 | private String roomSn; | 44 | private String roomSn; |
| @@ -54,7 +49,12 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | @@ -54,7 +49,12 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | ||
| 54 | public void run() { | 49 | public void run() { |
| 55 | //日志显示,没有结束,以此确保20min后关闭相关 | 50 | //日志显示,没有结束,以此确保20min后关闭相关 |
| 56 | if (updateCount++ == 2) { | 51 | if (updateCount++ == 2) { |
| 57 | - closeSystem(); | 52 | + LogUtils.i("closeSystem"); |
| 53 | + LightOperationUtils.close(); | ||
| 54 | + LightOperationUtils.setLightValue(5); | ||
| 55 | + new SystemUtils().closeFtLed(QrCodeShowActivity.this.getApplicationContext()); | ||
| 56 | + present.reportSleepStatus(orderSn, roomSn); | ||
| 57 | + QrCodeShowActivity.this.finish(); | ||
| 58 | return; | 58 | return; |
| 59 | } | 59 | } |
| 60 | LogUtils.i("room-info", "QrCodeShowActivity update qr code runnable run"); | 60 | LogUtils.i("room-info", "QrCodeShowActivity update qr code runnable run"); |
| @@ -72,7 +72,6 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | @@ -72,7 +72,6 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | ||
| 72 | orderSn = getIntent().getStringExtra("order_sn"); | 72 | orderSn = getIntent().getStringExtra("order_sn"); |
| 73 | roomSn = getIntent().getStringExtra("room_sn"); | 73 | roomSn = getIntent().getStringExtra("room_sn"); |
| 74 | iv = (ImageView) findViewById(qrCodeIv); | 74 | iv = (ImageView) findViewById(qrCodeIv); |
| 75 | - handler.postDelayed(r, 20 * 60 * 1000); | ||
| 76 | 75 | ||
| 77 | if (!TextUtils.isEmpty(roomSn) && !TextUtils.isEmpty(orderSn)) { | 76 | if (!TextUtils.isEmpty(roomSn) && !TextUtils.isEmpty(orderSn)) { |
| 78 | handler.post(updateQrCodeRunnable); | 77 | handler.post(updateQrCodeRunnable); |
| @@ -89,7 +88,7 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | @@ -89,7 +88,7 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | ||
| 89 | } catch (Exception e) { | 88 | } catch (Exception e) { |
| 90 | e.printStackTrace(); | 89 | e.printStackTrace(); |
| 91 | } | 90 | } |
| 92 | - handler.removeCallbacks(r); | 91 | + handler.removeCallbacks(updateQrCodeRunnable); |
| 93 | handler.removeCallbacks(null); | 92 | handler.removeCallbacks(null); |
| 94 | EventBus.getDefault().unregister(this); | 93 | EventBus.getDefault().unregister(this); |
| 95 | } | 94 | } |
| @@ -97,7 +96,7 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | @@ -97,7 +96,7 @@ public class QrCodeShowActivity extends Activity implements IUpdateQrCodeView { | ||
| 97 | @Override | 96 | @Override |
| 98 | protected void onPause() { | 97 | protected void onPause() { |
| 99 | super.onPause(); | 98 | super.onPause(); |
| 100 | - handler.removeCallbacks(r); | 99 | + handler.removeCallbacks(updateQrCodeRunnable); |
| 101 | handler.removeCallbacks(null); | 100 | handler.removeCallbacks(null); |
| 102 | } | 101 | } |
| 103 | 102 |
Please
register
or
login
to post a comment