/* * Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com] * * Licensed under the Apache License, Version 2.0 (the "License”); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.youku.player.base; import android.annotation.SuppressLint; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; import android.view.SurfaceHolder; import android.widget.Toast; import com.baseproject.utils.Logger; import com.baseproject.utils.Profile; import com.youku.player.YoukuPlayerApplication; import com.youku.player.ad.AdVender; import com.youku.player.goplay.VideoAdvInfo; import com.youku.player.module.VideoHistoryInfo; import com.youku.player.module.VideoUrlInfo; import com.youku.player.ui.interf.IMediaPlayerDelegate; import com.youku.player.util.PlayerUiUtile; import com.youku.player.util.RemoteInterface; import com.youku.player.util.URLContainer; /** * Author: Tau.Chen * Email: 1076559197@qq.com | tauchen1990@gmail.com * Date: 15/7/13 * Description: */ public abstract class IBasePlayActivity extends AppCompatActivity { private static SharedPreferences s; private static SharedPreferences.Editor e; public IMediaPlayerDelegate mediaPlayerDelegate; public boolean isImageADShowing = false; public boolean onPause; public boolean pauseBeforeLoaded = false; public String id; public static Handler handler = new Handler() { }; public static boolean isHighEnd; public IBasePlayActivity() { } @SuppressLint({"CommitPrefEdits"}) protected void onCreate(Bundle arg0) { super.onCreate(arg0); s = PreferenceManager.getDefaultSharedPreferences(this); e = s.edit(); if (Profile.DEBUG) { Logger.d("IBaseActivity", "youku player debug"); URLContainer.YOUKU_WIRELESS_DOMAIN = "http://test1.api.3g.youku.com/openapi-wireless/"; URLContainer.YOUKU_WIRELESS_LAYOUT_DOMAIN = "http://test.api.3g.youku.com/layout/"; URLContainer.YOUKU_DOMAIN = "http://test1.api.3g.youku.com"; URLContainer.YOUKU_AD_DOMAIN = "http://test1.api.3g.youku.com"; AdVender.MobiSage_ID = "4c83b6591cac465d86d93bbe419797ab"; URLContainer.STATIC_DOMAIN = "http://test1.api.3g.youku.com"; } else { Logger.d("IBaseActivity", "youku player official"); URLContainer.YOUKU_DOMAIN = "http://a.play.api.3g.youku.com"; URLContainer.YOUKU_AD_DOMAIN = "http://ad.api.3g.youku.com"; URLContainer.STATIC_DOMAIN = "http://statis.api.3g.youku.com"; } Logger.d("sgh", "initial mediaPlayerDelegate in IBaseActivity"); PlayerUiUtile.refreshMediaplayerDelegate(YoukuPlayerApplication.context); this.mediaPlayerDelegate = RemoteInterface.mediaPlayerDelegate; } public abstract IMediaPlayerDelegate getMediaPlayerDelegate(); public abstract void showDialog(); public abstract void showPauseAD(); public abstract void onPayClick(); public abstract void recreateSurfaceHolder(); public abstract void dissmissImageAD(); public abstract void dissmissPauseAD(); public abstract void releaseInvestigate(); public abstract void dismissInteractiveAD(); public abstract void goFullScreen(); public abstract void showImageAD(VideoAdvInfo var1); public abstract void startInvestigate(VideoAdvInfo var1); public abstract void goSmall(); public abstract void playCompleteGoSmall(); public abstract void setOrientionDisable(); public abstract void setOrientionEnable(); public abstract void resizeVideoVertical(); public abstract int getVideoPosition(); public abstract boolean isImageAdStartToShow(); public abstract void initPlayerPart(); public abstract SurfaceHolder getSurfaceHolder(); public abstract void resizeMediaPlayer(boolean var1); public static int getCurrentFormat() { return isHighEnd ? 5 : 4; } public static void addToPlayHistory(VideoUrlInfo videoInfo) { if (IMediaPlayerDelegate.mIVideoHistoryInfo != null) { Logger.d("HistoryFlow", "IBaseActivity: addToPlayHistory()"); IMediaPlayerDelegate.mIVideoHistoryInfo.addToPlayHistory(videoInfo); } } public static VideoUrlInfo getRecordFromLocal(VideoUrlInfo mVideoUrlInfo) { if (mVideoUrlInfo.getVid() != null && IMediaPlayerDelegate.mIVideoHistoryInfo != null) { VideoHistoryInfo mVideoInfo = IMediaPlayerDelegate.mIVideoHistoryInfo.getVideoHistoryInfo(mVideoUrlInfo.getVid()); if (mVideoInfo != null) { int playHistory = mVideoInfo.playTime * 1000; if (playHistory > mVideoUrlInfo.getProgress()) { mVideoUrlInfo.setProgress(playHistory); } } } return mVideoUrlInfo; } public static void savePreference(String key, String value) { e.putString(key, value).commit(); } public static void savePreference(String key, int value) { e.putInt(key, value).commit(); } public static void savePreference(String key, Boolean value) { e.putBoolean(key, value.booleanValue()).commit(); } public static boolean getPreferenceBoolean(String key) { return s.getBoolean(key, false); } public static String getPreference(String key) { return s.getString(key, ""); } public static int getPreferenceInt(String key) { return s.getInt(key, 0); } public static boolean getPreferenceBoolean(String key, boolean def) { return s.getBoolean(key, def); } public static String getPreference(String key, String def) { return s.getString(key, def); } public static int getPreferenceInt(String key, int def) { return s.getInt(key, def); } protected void onPause() { super.onPause(); } protected void onStop() { super.onStop(); } protected void onDestroy() { super.onDestroy(); Logger.d("IBaseActivity", "onDestroy"); } protected void onResume() { super.onResume(); } public void showApiServiceNotAvailableDialog() { Toast.makeText(this, "优酷播放器API不可用,请安装播放器apk!", 2000).show(); } }