package org.abrantix.rockon.rockonnggl;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.egl.EGLDisplay;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.content.DialogInterface.OnCancelListener;
import android.content.SharedPreferences.Editor;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.database.Cursor;
import android.media.AudioManager;
import android.net.Uri;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.preference.PreferenceManager;
import android.provider.MediaStore;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class RockOnNextGenGL extends Activity {
private final String TAG = "RockOnNextGenGL";
/** Global Vars */
// Context mContext;
int mRendererMode;
int mTheme;
int mBrowseCatMode;
GLSurfaceView mGlSurfaceView;
// RockOnCubeRenderer mRockOnCubeRenderer;
RockOnRenderer mRockOnRenderer;
private RockOnNextGenDefaultExceptionHandler mDefaultExceptionHandler;
boolean mIsSdCardPresentAndHasMusic = true;
String mNewPlaylistName;
NavScrollerView mNavScroller;
/** Dialogs */
private AlertDialog.Builder mPlaylistDialog;
private AlertDialog.Builder mViewModeDialog;
private AlertDialog.Builder mThemeDialog;
private AlertDialog.Builder mSpecificThemeDialog;
private AlertDialog.Builder mInstallConcertAppDialog;
/** Initialized vars */
AlbumArtDownloadOkClickListener mAlbumArtDownloadOkClickListener = null;
ThemeChangeClickListener mThemeChangeClickListener = null;
private IRockOnNextGenService mService = null;
/** State Variables */
static int mState = Constants.STATE_INTRO;
static String mTrackName = null;
static String mArtistName = null;
static long mTrackDuration = -1;
static long mTrackProgress = -1;
static float mNavigatorPositionX = -1;
static float mNavigatorTargetPositionX = -1;
static float mNavigatorPositionY = -1;
static float mNavigatorTargetPositionY = -1;
static int mPlaylistId = Constants.PLAYLIST_UNKNOWN;
/*********************************************************
* *******************************************************
*
* USES REFLECTION
*
* Media Button registration for 2.2
*
* ******************************************************/
private static Method mRegisterMediaButtonEventReceiver;
private static Method mUnregisterMediaButtonEventReceiver;
private AudioManager mAudioManager;
private ComponentName mRemoteControlResponder;
private static void initializeRemoteControlRegistrationMethods() {
try {
if (mRegisterMediaButtonEventReceiver == null) {
mRegisterMediaButtonEventReceiver = AudioManager.class.getMethod(
"registerMediaButtonEventReceiver",
new Class[] { ComponentName.class } );
}
if (mUnregisterMediaButtonEventReceiver == null) {
mUnregisterMediaButtonEventReceiver = AudioManager.class.getMethod(
"unregisterMediaButtonEventReceiver",
new Class[] { ComponentName.class } );
}
/* success, this device will take advantage of better remote */
/* control event handling */
} catch (NoSuchMethodException nsme) {
/* failure, still using the legacy behavior, but this app */
/* is future-proof! */
}
}
static {
initializeRemoteControlRegistrationMethods();
}
private void registerRemoteControl() {
try {
if (mRegisterMediaButtonEventReceiver == null) {
return;
}
mRegisterMediaButtonEventReceiver.invoke(mAudioManager,
mRemoteControlResponder);
} catch (InvocationTargetException ite) {
/* unpack original exception when possible */
Throwable cause = ite.getCause();
if (cause instanceof RuntimeException) {
throw (RuntimeException) cause;
} else if (cause instanceof Error) {
throw (Error) cause;
} else {
/* unexpected checked exception; wrap and re-throw */
throw new RuntimeException(ite);
}
} catch (IllegalAccessException ie) {
Log.e("MyApp", "unexpected " + ie);
}
}
private void unregisterRemoteControl() {
try {
if (mUnregisterMediaButtonEventReceiver == null) {
return;
}
mUnregisterMediaButtonEventReceiver.invoke(
mAudioManager,
mRemoteControlResponder);
} catch (InvocationTargetException ite) {
/* unpack original exception when possible */
Throwable cause = ite.getCause();
if (cause instanceof RuntimeException) {
throw (RuntimeException) cause;
} else if (cause instanceof Error) {
throw (Error) cause;
} else {
/* unexpected checked exception; wrap and re-throw */
throw new RuntimeException(ite);
}
} catch (IllegalAccessException ie) {
System.err.println("unexpected " + ie);
}
}
/*********************************************************
*********************************************************/
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// /****************
// * DEBUG ONLY
// ****************/
// mAnalytics = GoogleAnalyticsTracker.getInstance();
//// mAnalytics.start("UA-20349033-2", 6*60 /* *60 */ /* every 6 hours */, this);
// mAnalytics.start("UA-20349033-2", this);
//
// mAnalytics.trackPageView("/RockOnNextGenGL");
// mAnalytics.dispatch();
// mAnalytics.stop();
/* set up our default exception handler */
mDefaultExceptionHandler =
new RockOnNextGenDefaultExceptionHandler(
RockOnNextGenGL.this);
/* media button reflection variables */
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android 3D效果播放器源码.zip项目安卓应用源码下载Android 3D效果播放器源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
资源推荐
资源详情
资源评论
收起资源包目录
Android 3D效果播放器源码.zip项目安卓应用源码下载 (554个子文件)
IRockOnNextGenService.aidl 2KB
IRockOnNextGenService.aidl 2KB
resources.ap_ 519KB
rockon-ng-android-gl.apk 749KB
RockOnNextGenGL.class 52KB
RockOnNextGenService.class 45KB
RockOnCubeRenderer.class 26KB
RockOnWallRenderer.class 22KB
RockOnMorphRenderer.class 22KB
RockOnBoringRenderer.class 22KB
CursorUtils.class 17KB
IRockOnNextGenService$Stub$Proxy.class 17KB
Constants.class 14KB
NavItemUtils.class 14KB
EqView.class 11KB
AlbumArtistSwitcherView.class 10KB
R$string.class 10KB
AlbumArtUtils.class 10KB
IRockOnNextGenService$Stub.class 10KB
LockScreen.class 9KB
GoogleImagesFetcher.class 8KB
NavScrollerView.class 8KB
ProgressBarView.class 8KB
EqualizerWrapper.class 8KB
DirectoryFilter.class 7KB
ManualAlbumArtActivity.class 7KB
RockOnNextGenService$ServiceStub.class 7KB
RockOnNextGenAppWidgetProvider4x4.class 7KB
RockOnCube.class 7KB
AlbumArtImporter.class 7KB
WidgetCoverUtils.class 7KB
EqualizerActivity.class 7KB
SortCursor.class 6KB
RockOnNextGenAppWidgetProvider3x3.class 6KB
RockOnNextGenPreferences.class 6KB
RockOnNextGenAppWidgetProvider.class 6KB
AlbumArtProcessor.class 6KB
RockOnNextGenService$MultiPlayer.class 6KB
RockOnNextGenAppWidgetProvider4x1.class 6KB
RockOnNextGenDefaultExceptionHandler.class 5KB
EqSettings.class 5KB
ManualArtChooserAdapter.class 5KB
SongCursorAdapter.class 5KB
MediaButtonIntentReceiver.class 5KB
NavGLTouchListener.class 5KB
DirectoryFilterActivity.class 4KB
ThemeChangeClickListener.class 4KB
R$id.class 4KB
PlaylistArrayAdapter.class 4KB
RockOnRenderer.class 4KB
RockOnNextGenGL$28.class 4KB
TriangleRenderer.class 4KB
FreeCoversNetFetcher.class 4KB
ImageProcessor.class 4KB
RockOnNextGenGL$5.class 4KB
AlbumCursorAdapter.class 4KB
AlbumArtDownloadOkClickListener.class 4KB
R$drawable.class 3KB
RockOnNextGenGL$30.class 3KB
RockOnNextGenService$3.class 3KB
Cube.class 3KB
RockOnNextGenGL$16.class 3KB
GLScroller.class 3KB
RockOnHangingCover.class 3KB
DonateActivity.class 3KB
AlbumLabelHangingGlText.class 3KB
AlbumLabelGlText.class 3KB
ThemeChangeClickListener$1.class 3KB
FreeCoversApiXmlResponseHandler.class 3KB
AlbumArtDownloadOkClickListener$1.class 3KB
ThemeChangeClickListener$2.class 3KB
RockOnAlbumTextLabel.class 3KB
DirectoryFilterAdapter.class 3KB
Util.class 3KB
RockOnNextGenGL$7.class 3KB
RockOnCover.class 3KB
AlbumCursorAdapter$1.class 3KB
RockOnNextGenGL$10.class 3KB
CubeRenderer.class 2KB
RockOnNextGenGL$46.class 2KB
RockOnNextGenGL$32.class 2KB
SearchUtils.class 2KB
IRockOnNextGenService.class 2KB
EqTouchListener$1.class 2KB
RockOnNextGenService$2.class 2KB
SongCursorAdapter$2.class 2KB
RockOnNextGenGL$8.class 2KB
RockOnNextGenGL$45.class 2KB
RockOnNextGenGL$4.class 2KB
NavScrollerTouchListener.class 2KB
PlaylistArrayAdapter$2.class 2KB
PlaylistArrayAdapter$1.class 2KB
DirectoryFilterActivity$1.class 2KB
SongCursorAdapter$1.class 2KB
IntroView$Fader.class 2KB
Triangle.class 2KB
RockOnNextGenGL$38.class 2KB
RockOnNextGenPreferences$5.class 2KB
RockOnNextGenGL$39.class 2KB
IntroView.class 2KB
共 554 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
- lv3322022-05-22用户下载后在一定时间内未进行评价,系统默认好评。
yxkfw
- 粉丝: 77
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功