// 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));
//     }
// 
// }


import android.app.Activity;
import android.text.InputType;
import android.text.Selection;
import android.view.WindowManager;
import android.widget.EditText;
import com.rocko.common.DebugLog;
import java.lang.reflect.Method;
package com.rocko.view;




/**
 * @author Mr.Zheng
 * @date 2014年10月25日 下午11:03:39
 */
public class ViewUtils {
    /**
     * 设置EditText光标的位置
     *
     * @param editText
     * @param position
     */
    public static void setEditTextCursorPosition(EditText editText, int position) {
        Selection.setSelection(editText.getText(), position);
    }

    /**
     * edittext不显示软键盘,要显示光标
     */
    public void initPhoneEditText(EditText numEditText) {
        if (android.os.Build.VERSION.SDK_INT <= 10) {
            numEditText.setInputType(InputType.TYPE_NULL);
        } else {
            ((Activity) numEditText.getContext()).getWindow().setSoftInputMode(
                    WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
            try {
                Class<EditText> cls = EditText.class;
                Method setSoftInputShownOnFocus;
                setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
                setSoftInputShownOnFocus.setAccessible(true);
                setSoftInputShownOnFocus.invoke(numEditText, false);
            } catch (Exception e) {
// 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/view/ViewUtils.java
import android.app.Activity;
import android.text.InputType;
import android.text.Selection;
import android.view.WindowManager;
import android.widget.EditText;
import com.rocko.common.DebugLog;
import java.lang.reflect.Method;

package com.rocko.view;




/**
 * @author Mr.Zheng
 * @date 2014年10月25日 下午11:03:39
 */
public class ViewUtils {
    /**
     * 设置EditText光标的位置
     *
     * @param editText
     * @param position
     */
    public static void setEditTextCursorPosition(EditText editText, int position) {
        Selection.setSelection(editText.getText(), position);
    }

    /**
     * edittext不显示软键盘,要显示光标
     */
    public void initPhoneEditText(EditText numEditText) {
        if (android.os.Build.VERSION.SDK_INT <= 10) {
            numEditText.setInputType(InputType.TYPE_NULL);
        } else {
            ((Activity) numEditText.getContext()).getWindow().setSoftInputMode(
                    WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
            try {
                Class<EditText> cls = EditText.class;
                Method setSoftInputShownOnFocus;
                setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
                setSoftInputShownOnFocus.setAccessible(true);
                setSoftInputShownOnFocus.invoke(numEditText, false);
            } catch (Exception e) {
                DebugLog.e(">>>" + e.getMessage());