// Path: old-library-with-sample/src/main/java/com/rocko/common/DebugLog.java
// public class DebugLog {
//     /**
//      * Log输出所在类
//      */
//     private static String className;
//     /**
//      * Log输出所在方法
//      */
//     private static String methodName;
//     /**
//      * Log输出所行号
//      */
//     private static int lineNumber;
// 
//     private DebugLog() {
//     }
// 
//     /**
//      * 是否可Debug状态
//      *
//      * @return
//      */
//     public static boolean isDebuggable() {
//         return BuildConfig.DEBUG;
//     }
// 
//     /**
//      * 创建Log输出的基本信息
//      *
//      * @param log
//      * @return
//      */
//     private static String createLog(String log) {
//         StringBuffer buffer = new StringBuffer();
//         buffer.append("[");
//         buffer.append(methodName);
//         buffer.append("()");
//         buffer.append(" line:");
//         buffer.append(lineNumber);
//         buffer.append("] ");
//         buffer.append(log);
//         return buffer.toString();
//     }
// 
//     /**
//      * 取得输出所在位置的信息 className methodName lineNumber
//      *
//      * @param sElements
//      */
//     private static void getMethodNames(StackTraceElement[] sElements) {
//         className = sElements[1].getFileName().split("\\.")[0];
//         methodName = sElements[1].getMethodName();
//         lineNumber = sElements[1].getLineNumber();
//     }
// 
//     public static void e(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.e(className, createLog(message));
//     }
// 
//     public static void i(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.i(className, createLog(message));
//     }
// 
//     public static void d(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.d(className, createLog(message));
//     }
// 
//     public static void v(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.v(className, createLog(message));
//     }
// 
//     public static void w(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.w(className, createLog(message));
//     }
// 
//     public static void wtf(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.wtf(className, createLog(message));
//     }
// 
// }
// 
// Path: old-library-with-sample/src/main/java/com/rocko/config/Configs.java
// public class Configs {
//     /**
//      * 更新文件夹
//      */
//     public static final String UPDATE_DOWNLOAD_PATH = "RepairSystem/update";
//     /**
//      * 外部存储地址
//      */
//     public static final String EXTERNAL_STORAGE_DIRECTORY = Environment.getExternalStorageDirectory()
//             .toString() + "/";
//     /**
//      * 更新下载后的文件名
//      */
//     public static final String NEW_APK_FILE_NAME = "/RepairSystem.apk";
// }
// 
// Path: old-library-with-sample/src/main/java/com/rocko/config/Urls.java
// public class Urls {
//     public final static String baseUrl = "http://192.168.206.1:8080/repairSys";
//     public final static String update = "/Mobile/androidUpdateInfo.xml";
//     public final static String downloadApk = "/Mobile/RepairSystem.apk";
// }


import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.widget.RemoteViews;
import com.rocko.androidutils.R;
import com.rocko.common.DebugLog;
import com.rocko.config.Configs;
import com.rocko.config.Urls;
import java.io.File;
        notification.contentIntent = pendingIntent;
        notification.contentView = view;
        notification.contentView.setProgressBar(R.id.pb_notification, 100, 0, false);
        notification.contentView.setTextViewText(R.id.txt_notificaton_down_go, "0%");
        notificationManager.notify(0, notification);
    }

    /**
     * 安装apk的意图
     *
     * @param flags
     * @return
     */
    private PendingIntent getInstallPendingIntent(int flags) {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setDataAndType(
                Uri.fromFile(new File(Configs.EXTERNAL_STORAGE_DIRECTORY + Configs.UPDATE_DOWNLOAD_PATH
                        + Configs.NEW_APK_FILE_NAME)), "application/vnd.android.package-archive");

        PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, flags);
        return pendingIntent;
    }

    private class DownloadHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                // 下载进度
                case DOWNLOAD_PROGRESS:
// Path: old-library-with-sample/src/main/java/com/rocko/common/DebugLog.java
// public class DebugLog {
//     /**
//      * Log输出所在类
//      */
//     private static String className;
//     /**
//      * Log输出所在方法
//      */
//     private static String methodName;
//     /**
//      * Log输出所行号
//      */
//     private static int lineNumber;
// 
//     private DebugLog() {
//     }
// 
//     /**
//      * 是否可Debug状态
//      *
//      * @return
//      */
//     public static boolean isDebuggable() {
//         return BuildConfig.DEBUG;
//     }
// 
//     /**
//      * 创建Log输出的基本信息
//      *
//      * @param log
//      * @return
//      */
//     private static String createLog(String log) {
//         StringBuffer buffer = new StringBuffer();
//         buffer.append("[");
//         buffer.append(methodName);
//         buffer.append("()");
//         buffer.append(" line:");
//         buffer.append(lineNumber);
//         buffer.append("] ");
//         buffer.append(log);
//         return buffer.toString();
//     }
// 
//     /**
//      * 取得输出所在位置的信息 className methodName lineNumber
//      *
//      * @param sElements
//      */
//     private static void getMethodNames(StackTraceElement[] sElements) {
//         className = sElements[1].getFileName().split("\\.")[0];
//         methodName = sElements[1].getMethodName();
//         lineNumber = sElements[1].getLineNumber();
//     }
// 
//     public static void e(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.e(className, createLog(message));
//     }
// 
//     public static void i(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.i(className, createLog(message));
//     }
// 
//     public static void d(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.d(className, createLog(message));
//     }
// 
//     public static void v(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.v(className, createLog(message));
//     }
// 
//     public static void w(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.w(className, createLog(message));
//     }
// 
//     public static void wtf(String message) {
//         if (!isDebuggable())
//             return;
// 
//         getMethodNames(new Throwable().getStackTrace());
//         Log.wtf(className, createLog(message));
//     }
// 
// }
// 
// Path: old-library-with-sample/src/main/java/com/rocko/config/Configs.java
// public class Configs {
//     /**
//      * 更新文件夹
//      */
//     public static final String UPDATE_DOWNLOAD_PATH = "RepairSystem/update";
//     /**
//      * 外部存储地址
//      */
//     public static final String EXTERNAL_STORAGE_DIRECTORY = Environment.getExternalStorageDirectory()
//             .toString() + "/";
//     /**
//      * 更新下载后的文件名
//      */
//     public static final String NEW_APK_FILE_NAME = "/RepairSystem.apk";
// }
// 
// Path: old-library-with-sample/src/main/java/com/rocko/config/Urls.java
// public class Urls {
//     public final static String baseUrl = "http://192.168.206.1:8080/repairSys";
//     public final static String update = "/Mobile/androidUpdateInfo.xml";
//     public final static String downloadApk = "/Mobile/RepairSystem.apk";
// }


// Path: old-library-with-sample/src/main/java/com/rocko/update/UpdateService.java
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.widget.RemoteViews;
import com.rocko.androidutils.R;
import com.rocko.common.DebugLog;
import com.rocko.config.Configs;
import com.rocko.config.Urls;
import java.io.File;

        notification.contentIntent = pendingIntent;
        notification.contentView = view;
        notification.contentView.setProgressBar(R.id.pb_notification, 100, 0, false);
        notification.contentView.setTextViewText(R.id.txt_notificaton_down_go, "0%");
        notificationManager.notify(0, notification);
    }

    /**
     * 安装apk的意图
     *
     * @param flags
     * @return
     */
    private PendingIntent getInstallPendingIntent(int flags) {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setDataAndType(
                Uri.fromFile(new File(Configs.EXTERNAL_STORAGE_DIRECTORY + Configs.UPDATE_DOWNLOAD_PATH
                        + Configs.NEW_APK_FILE_NAME)), "application/vnd.android.package-archive");

        PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, flags);
        return pendingIntent;
    }

    private class DownloadHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                // 下载进度
                case DOWNLOAD_PROGRESS:
                    DebugLog.v("下载进度：" + msg.arg1 + "%");