// Path: vrlib/src/main/java/com/martin/ads/vrlib/filters/advanced/FilterType.java
// public enum FilterType {
//     NONE,
//     FILL_LIGHT_FILTER,
//     GREEN_HOUSE_FILTER,
//     BLACK_WHITE_FILTER,
//     PAST_TIME_FILTER,
//     MOON_LIGHT_FILTER,
//     PRINTING_FILTER,
//     TOY_FILTER,
//     BRIGHTNESS_FILTER,
//     VIGNETTE_FILTER,
//     MULTIPLY_FILTER,
//     REMINISCENCE_FILTER,
//     SUNNY_FILTER,
//     MX_LOMO_FILTER,
//     SHIFT_COLOR_FILTER,
//     MX_FACE_BEAUTY_FILTER,
//     MX_PRO_FILTER,
// }
// 
// Path: vrlib/src/main/java/com/martin/ads/vrlib/utils/UIUtils.java
// public class UIUtils
// {
//     public static String getShowTime(long milliseconds) {
//         /*
//             // 获取日历函数
//             Calendar calendar = Calendar.getInstance();
//             calendar.setTimeInMillis(milliseconds);
//             SimpleDateFormat dateFormat = null;
//             // 判断是否大于60分钟，如果大于就显示小时。设置日期格式
//             if (milliseconds / 60000 > 60) {
//                 dateFormat = new SimpleDateFormat("hh:mm:ss");
//             } else {
//                 dateFormat = new SimpleDateFormat("00:mm:ss");
//             }
//             return dateFormat.format(calendar.getTime());
//         */
//         //abhiank209 (pr #10)
//         return String.format("%02d:%02d:%02d",
//                     TimeUnit.MILLISECONDS.toHours(milliseconds),
//                     TimeUnit.MILLISECONDS.toMinutes(milliseconds) -
//                                     TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milliseconds)),
//                     TimeUnit.MILLISECONDS.toSeconds(milliseconds) -
//                                     TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)));
//     }
// 
//     public static void startImageAnim(ImageView Img, int anim)
//     {
//         Img.setVisibility(View.VISIBLE);
//         try
//         {
//             Img.setImageResource(anim);
//             AnimationDrawable animationDrawable = (AnimationDrawable) Img.getDrawable();
//             animationDrawable.start();
//         }
//         catch (ClassCastException e)
//         {
//             e.printStackTrace();
//         }
//     }
// 
//     public static void stopImageAnim(ImageView Img)
//     {
//         try
//         {
//             AnimationDrawable animationDrawable = (AnimationDrawable) Img.getDrawable();
//             animationDrawable.stop();
//         }
//         catch (ClassCastException e)
//         {
//             e.printStackTrace();
//         }
//         Img.setVisibility(View.GONE);
//     }
// 
// 
//     //缓冲动画控制
//     public static void setBufferVisibility(ImageView imgBuffer, boolean Visible)
//     {
//         if (Visible)
//         {
//             imgBuffer.setVisibility(View.VISIBLE);
//             startImageAnim(imgBuffer, R.drawable.loading);
//         }
//         else
//         {
//             stopImageAnim(imgBuffer);
//             imgBuffer.setVisibility(View.GONE);
//         }
//     }
// 
// }


import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.ToggleButton;
import com.martin.ads.vrlib.R;
import com.martin.ads.vrlib.filters.advanced.FilterType;
import com.martin.ads.vrlib.utils.UIUtils;
import java.util.Timer;
import java.util.TimerTask;
    }

    public void show(){
        if (visible) return;
        visible=true;
        if(!imageMode) progressToolbar.setVisibility(View.VISIBLE);
        controlToolbar.setVisibility(View.VISIBLE);
    }

    public boolean isVisible() {
        return visible;
    }

    public interface UICallback{
        void requestScreenshot();
        void requestFinish();
        void changeDisPlayMode();
        void changeInteractiveMode();
        void changePlayingStatus();
        void playerSeekTo(int pos);
        int getPlayerDuration();
        int getPlayerCurrentPosition();
        void addFilter(FilterType filterType);
    }

    public void setInfo(){
        processSeekBar.setProgress(0);
        int duration=uiCallback.getPlayerDuration();
        processSeekBar.setMax(duration);

// Path: vrlib/src/main/java/com/martin/ads/vrlib/filters/advanced/FilterType.java
// public enum FilterType {
//     NONE,
//     FILL_LIGHT_FILTER,
//     GREEN_HOUSE_FILTER,
//     BLACK_WHITE_FILTER,
//     PAST_TIME_FILTER,
//     MOON_LIGHT_FILTER,
//     PRINTING_FILTER,
//     TOY_FILTER,
//     BRIGHTNESS_FILTER,
//     VIGNETTE_FILTER,
//     MULTIPLY_FILTER,
//     REMINISCENCE_FILTER,
//     SUNNY_FILTER,
//     MX_LOMO_FILTER,
//     SHIFT_COLOR_FILTER,
//     MX_FACE_BEAUTY_FILTER,
//     MX_PRO_FILTER,
// }
// 
// Path: vrlib/src/main/java/com/martin/ads/vrlib/utils/UIUtils.java
// public class UIUtils
// {
//     public static String getShowTime(long milliseconds) {
//         /*
//             // 获取日历函数
//             Calendar calendar = Calendar.getInstance();
//             calendar.setTimeInMillis(milliseconds);
//             SimpleDateFormat dateFormat = null;
//             // 判断是否大于60分钟，如果大于就显示小时。设置日期格式
//             if (milliseconds / 60000 > 60) {
//                 dateFormat = new SimpleDateFormat("hh:mm:ss");
//             } else {
//                 dateFormat = new SimpleDateFormat("00:mm:ss");
//             }
//             return dateFormat.format(calendar.getTime());
//         */
//         //abhiank209 (pr #10)
//         return String.format("%02d:%02d:%02d",
//                     TimeUnit.MILLISECONDS.toHours(milliseconds),
//                     TimeUnit.MILLISECONDS.toMinutes(milliseconds) -
//                                     TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milliseconds)),
//                     TimeUnit.MILLISECONDS.toSeconds(milliseconds) -
//                                     TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milliseconds)));
//     }
// 
//     public static void startImageAnim(ImageView Img, int anim)
//     {
//         Img.setVisibility(View.VISIBLE);
//         try
//         {
//             Img.setImageResource(anim);
//             AnimationDrawable animationDrawable = (AnimationDrawable) Img.getDrawable();
//             animationDrawable.start();
//         }
//         catch (ClassCastException e)
//         {
//             e.printStackTrace();
//         }
//     }
// 
//     public static void stopImageAnim(ImageView Img)
//     {
//         try
//         {
//             AnimationDrawable animationDrawable = (AnimationDrawable) Img.getDrawable();
//             animationDrawable.stop();
//         }
//         catch (ClassCastException e)
//         {
//             e.printStackTrace();
//         }
//         Img.setVisibility(View.GONE);
//     }
// 
// 
//     //缓冲动画控制
//     public static void setBufferVisibility(ImageView imgBuffer, boolean Visible)
//     {
//         if (Visible)
//         {
//             imgBuffer.setVisibility(View.VISIBLE);
//             startImageAnim(imgBuffer, R.drawable.loading);
//         }
//         else
//         {
//             stopImageAnim(imgBuffer);
//             imgBuffer.setVisibility(View.GONE);
//         }
//     }
// 
// }


// Path: vrlib/src/main/java/com/martin/ads/vrlib/ui/PanoUIController.java
import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.ToggleButton;
import com.martin.ads.vrlib.R;
import com.martin.ads.vrlib.filters.advanced.FilterType;
import com.martin.ads.vrlib.utils.UIUtils;
import java.util.Timer;
import java.util.TimerTask;

    }

    public void show(){
        if (visible) return;
        visible=true;
        if(!imageMode) progressToolbar.setVisibility(View.VISIBLE);
        controlToolbar.setVisibility(View.VISIBLE);
    }

    public boolean isVisible() {
        return visible;
    }

    public interface UICallback{
        void requestScreenshot();
        void requestFinish();
        void changeDisPlayMode();
        void changeInteractiveMode();
        void changePlayingStatus();
        void playerSeekTo(int pos);
        int getPlayerDuration();
        int getPlayerCurrentPosition();
        void addFilter(FilterType filterType);
    }

    public void setInfo(){
        processSeekBar.setProgress(0);
        int duration=uiCallback.getPlayerDuration();
        processSeekBar.setMax(duration);

        lengthStr = UIUtils.getShowTime(duration);