// Path: telegramgallery/src/main/java/com/tangxiaolv/telegramgallery/DispatchQueue.java
// public class DispatchQueue extends Thread {
// 
//     private volatile Handler handler = null;
//     private CountDownLatch syncLatch = new CountDownLatch(1);
// 
//     public DispatchQueue(final String threadName) {
//         setName(threadName);
//         start();
//     }
// 
//     private void sendMessage(Message msg, int delay) {
//         try {
//             syncLatch.await();
//             if (delay <= 0) {
//                 handler.sendMessage(msg);
//             } else {
//                 handler.sendMessageDelayed(msg, delay);
//             }
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void cancelRunnable(Runnable runnable) {
//         try {
//             syncLatch.await();
//             handler.removeCallbacks(runnable);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void postRunnable(Runnable runnable) {
//         postRunnable(runnable, 0);
//     }
// 
//     public void postRunnable(Runnable runnable, long delay) {
//         try {
//             syncLatch.await();
//             if (delay <= 0) {
//                 handler.post(runnable);
//             } else {
//                 handler.postDelayed(runnable, delay);
//             }
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void cleanupQueue() {
//         try {
//             syncLatch.await();
//             handler.removeCallbacksAndMessages(null);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     @Override
//     public void run() {
//         Looper.prepare();
//         handler = new Handler();
//         syncLatch.countDown();
//         Looper.loop();
//     }
// }


import android.graphics.Bitmap;
import com.tangxiaolv.telegramgallery.DispatchQueue;
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

package com.tangxiaolv.telegramgallery.Utils;




public class Utilities {

    public static Pattern pattern = Pattern.compile("[\\-0-9]+");
    public static SecureRandom random = new SecureRandom();

// Path: telegramgallery/src/main/java/com/tangxiaolv/telegramgallery/DispatchQueue.java
// public class DispatchQueue extends Thread {
// 
//     private volatile Handler handler = null;
//     private CountDownLatch syncLatch = new CountDownLatch(1);
// 
//     public DispatchQueue(final String threadName) {
//         setName(threadName);
//         start();
//     }
// 
//     private void sendMessage(Message msg, int delay) {
//         try {
//             syncLatch.await();
//             if (delay <= 0) {
//                 handler.sendMessage(msg);
//             } else {
//                 handler.sendMessageDelayed(msg, delay);
//             }
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void cancelRunnable(Runnable runnable) {
//         try {
//             syncLatch.await();
//             handler.removeCallbacks(runnable);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void postRunnable(Runnable runnable) {
//         postRunnable(runnable, 0);
//     }
// 
//     public void postRunnable(Runnable runnable, long delay) {
//         try {
//             syncLatch.await();
//             if (delay <= 0) {
//                 handler.post(runnable);
//             } else {
//                 handler.postDelayed(runnable, delay);
//             }
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public void cleanupQueue() {
//         try {
//             syncLatch.await();
//             handler.removeCallbacksAndMessages(null);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     @Override
//     public void run() {
//         Looper.prepare();
//         handler = new Handler();
//         syncLatch.countDown();
//         Looper.loop();
//     }
// }


// Path: telegramgallery/src/main/java/com/tangxiaolv/telegramgallery/Utils/Utilities.java
import android.graphics.Bitmap;
import com.tangxiaolv.telegramgallery.DispatchQueue;
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


package com.tangxiaolv.telegramgallery.Utils;




public class Utilities {

    public static Pattern pattern = Pattern.compile("[\\-0-9]+");
    public static SecureRandom random = new SecureRandom();

    public static volatile DispatchQueue stageQueue = new DispatchQueue("stageQueue");