package org.bbs.osgi.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
/**
* define method consistency with {@link Activity}.
* <p>
* {@link #mHostActivity} will be inited (!= null) before {@link #onCreate(Bundle)}, after
* {@link #onDestroy()}, it will be un-inited ( == null).
*
* <p>
* when add new function, keep it in section, in order.
* @author luoqii
*
* @see {@link BundleActivity}
*/
public class ActivityAgent extends ComponentAgent implements IActivityAgent {
protected FragmentActivity mHostActivity;
// life-cycle
public void onCreate(Bundle savedInstanceState) {
}
public void onResume() {
}
public void onPause() {
}
public void onDestroy() {
mHostActivity = null;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onRestoreInstanceState(android.os.Bundle)
*/
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPostCreate(android.os.Bundle)
*/
@Override
public void onPostCreate(Bundle savedInstanceState) {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onRestart()
*/
@Override
public void onRestart() {
}
// content view
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#setContentView(int)
*/
@Override
public void setContentView(int layoutResID) {
mHostActivity.setContentView(layoutResID);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#setContentView(android.view.View)
*/
@Override
public void setContentView(View view) {
mHostActivity.setContentView(view);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#setContentView(android.view.View, android.view.ViewGroup.LayoutParams)
*/
@Override
public void setContentView(View view, LayoutParams params) {
mHostActivity.setContentView(view, params);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#setTitle(int)
*/
@Override
public void setTitle(int titleId) {
mHostActivity.setTitle(titleId);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#setTitle(java.lang.CharSequence)
*/
@Override
public void setTitle(CharSequence title) {
mHostActivity.setTitle(title);
}
// menu.
// public boolean onPreparePanel(int arg0, View arg1, Menu arg2) {
// return false;
// }
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreateOptionsMenu(android.view.Menu)
*/
@Override
public boolean onCreateOptionsMenu(Menu menu){
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public boolean onOptionsItemSelected(MenuItem item){
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPrepareOptionsMenu(android.view.Menu)
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu){
return false;
}
// start activity
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityFromFragment(android.support.v4.app.Fragment, android.content.Intent, int)
*/
@Override
public void startActivityFromFragment(Fragment fragment, Intent intent,
int requestCode) {
mHostActivity.startActivityFromFragment(fragment, intent, requestCode);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivity(android.content.Intent)
*/
@Override
public void startActivity(Intent intent) {
mHostActivity.startActivity(intent);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivity(android.content.Intent, android.os.Bundle)
*/
@Override
@SuppressLint("NewApi")
public void startActivity(Intent intent, Bundle options) {
mHostActivity.startActivity(intent, options);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityIfNeeded(android.content.Intent, int)
*/
@Override
public boolean startActivityIfNeeded(Intent intent, int requestCode) {
return mHostActivity.startActivityIfNeeded(intent, requestCode);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityIfNeeded(android.content.Intent, int, android.os.Bundle)
*/
@Override
@SuppressLint("NewApi")
public boolean startActivityIfNeeded(Intent intent, int requestCode,
Bundle options) {
return mHostActivity.startActivityIfNeeded(intent, requestCode, options);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityFromChild(android.app.Activity, android.content.Intent, int)
*/
@Override
public void startActivityFromChild(Activity child, Intent intent,
int requestCode) {
mHostActivity.startActivityFromChild(child, intent, requestCode);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityFromChild(android.app.Activity, android.content.Intent, int, android.os.Bundle)
*/
@Override
@SuppressLint("NewApi")
public void startActivityFromChild(Activity child, Intent intent,
int requestCode, Bundle options) {
mHostActivity.startActivityFromChild(child, intent, requestCode, options);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityFromFragment(android.app.Fragment, android.content.Intent, int)
*/
@Override
@SuppressLint("NewApi")
public void startActivityFromFragment(android.app.Fragment fragment,
Intent intent, int requestCode) {
mHostActivity.startActivityFromFragment(fragment, intent, requestCode);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle)
*/
@Override
@SuppressLint("NewApi")
public void startActivityFromFragment(android.app.Fragment fragment,
Intent intent, int requestCode, Bundle options) {
mHostActivity.startActivityFromFragment(fragment, intent, requestCode, options);
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#startActivityForResult(android.content.Intent, int)
*/
@Override
public void startActivityForResult(Intent intent, int requestCode) {
mHostActivity.startActivityForResult(intent, requestCode);
}
// activity result.
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onActivityResult(int, int, android.content.Intent)
*/
@Override
public void onActivityResult(int arg0, int arg1, Intent arg2) {
}
// res
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#getResources()
*/
@Override
public Resources getResources() {
return mHostActivity.getResources();
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#dispatchKeyEvent(android.view.KeyEvent)
*/
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#dispatchGenericMotionEvent(android.view.MotionEvent)
*/
@Override
public boolean dispatchGenericMotionEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#dispatchTrackballEvent(android.view.MotionEvent)
*/
@Override
public boolean dispatchTrackballEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#dispatchTouchEvent(android.view.MotionEvent)
*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onConfigurationChanged(android.content.res.Configuration)
*/
@Override
public void onConfigurationChanged(Configuration newConfig) {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onContentChanged()
*/
@Override
public void onContentChanged() {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)
*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onContextItemSelected(android.view.MenuItem)
*/
@Override
public boolean onContextItemSelected(MenuItem item) {
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onContextMenuClosed(android.view.Menu)
*/
@Override
public void onContextMenuClosed(Menu menu) {
}
public void onClick(View view) {
}
// notifiy bundle that a resource which has bundle res is ready.
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onBundleResourceReady(android.content.res.Resources)
*/
@Override
public void onBundleResourceReady(Resources mSourceMerger) {
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onStop()
*/
@Override
public void onStop() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreate(android.os.Bundle, android.os.PersistableBundle)
*/
@Override
public void onCreate(Bundle savedInstanceState,
PersistableBundle persistentState) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onStart()
*/
@Override
public void onStart() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPostResume()
*/
@Override
public void onPostResume() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreateDialog(int)
*/
@Override
public Dialog onCreateDialog(int id) {
return null;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreateDialog(int, android.os.Bundle)
*/
@Override
public Dialog onCreateDialog(int id, Bundle args) {
return null;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onKeyDown(int, android.view.KeyEvent)
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onKeyLongPress(int, android.view.KeyEvent)
*/
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onKeyUp(int, android.view.KeyEvent)
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onKeyMultiple(int, int, android.view.KeyEvent)
*/
@Override
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onKeyShortcut(int, android.view.KeyEvent)
*/
@Override
public boolean onKeyShortcut(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#dispatchKeyShortcutEvent(android.view.KeyEvent)
*/
@Override
public boolean dispatchKeyShortcutEvent(KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPostCreate(android.os.Bundle, android.os.PersistableBundle)
*/
@Override
public void onPostCreate(Bundle savedInstanceState,
PersistableBundle persistentState) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPrepareDialog(int, android.app.Dialog)
*/
@Override
public void onPrepareDialog(int id, Dialog dialog) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPrepareDialog(int, android.app.Dialog, android.os.Bundle)
*/
@Override
public void onPrepareDialog(int id, Dialog dialog, Bundle args) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreatePanelMenu(int, android.view.Menu)
*/
@Override
public boolean onCreatePanelMenu(int arg0, Menu arg1) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onMenuItemSelected(int, android.view.MenuItem)
*/
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
return false;
}
void onMenuItemSelected(int featureId, Menu menu) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPrepareOptionsPanel(android.view.View, android.view.Menu)
*/
@Override
public boolean onPrepareOptionsPanel(View view, Menu menu) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPreparePanel(int, android.view.View, android.view.Menu)
*/
@Override
public boolean onPreparePanel(int arg0, View arg1, Menu arg2) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPreparePonCreatePanelViewanel(int)
*/
@Override
public View onPreparePonCreatePanelViewanel(int featureId) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onMenuOpened(int, android.view.Menu)
*/
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onOptionsMenuClosed(android.view.Menu)
*/
@Override
public void onOptionsMenuClosed(Menu menu) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onPanelClosed(int, android.view.Menu)
*/
@Override
public void onPanelClosed(int featureId, Menu menu) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onCreatePanelView(int)
*/
@Override
public View onCreatePanelView(int featureId) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onAttachedToWindow()
*/
@Override
public void onAttachedToWindow() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onDetachedFromWindow()
*/
@Override
public void onDetachedFromWindow() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onTitleChanged(java.lang.CharSequence, int)
*/
@Override
public void onTitleChanged(CharSequence title, int color) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onUserLeaveHint()
*/
@Override
public void onUserLeaveHint() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onUserInteraction()
*/
@Override
public void onUserInteraction() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onWindowFocusChanged(boolean)
*/
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.bbs.osgi.activity.IActivityAgent#onWindowAttributesChanged(android.view.WindowManager.LayoutParams)
*/
@Override
public void onWindowAttributesChanged(
android.view.WindowManager.LayoutParams params) {
// TODO Auto-generated method stub
}
public void finish() {
// TODO Auto-generated method stub
}
public void finishAffinity() {
// TODO Auto-generated method stub
}
public void finishFromChild(Activity child) {
// TODO Auto-generated method stub
}
public void finishAfterTransition() {
// TODO Auto-generated method stub
}
public void finishActivity(int requestCode) {
// TODO Auto-generated method stub
}
public void finishActivityFromChild(Activity child, int requestCode) {
// TODO Auto-generated method stub
}
public void finishAndRemoveTask() {
// TODO Auto-generated method stub
}
@Override
public Intent getIntent() {
// TODO Auto-generated method stub
return null;
}
@Override
public void setTheme(int theme) {
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onTrackballEvent(MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
}