Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify the base class for AOP implementation #20

Open
wants to merge 1 commit into
base: feature_aop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/main/java/com/benmu/framework/BMWXApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
import android.content.Context;
import android.support.multidex.MultiDex;

import com.benmu.framework.activity.AbstractWeexActivity;
import com.benmu.framework.adapter.router.RouterTracker;
import com.benmu.framework.constant.Constant;
import com.benmu.framework.debug.ws.DebuggerWebSocket;
import com.benmu.framework.manager.ManagerFactory;
import com.benmu.framework.manager.impl.GlobalEventManager;
import com.benmu.framework.manager.impl.LifecycleManager;
import com.benmu.framework.model.PlatformConfigBean;
import com.benmu.framework.support.ISupportWeexActivity;
import com.benmu.framework.update.VersionChecker;
import com.benmu.framework.utils.DebugableUtil;
import com.taobao.weex.WXSDKInstance;
Expand Down Expand Up @@ -92,8 +92,8 @@ private void registerLifecycle() {
@Override
public void onTaskSwitchToForeground() {
Activity activity = RouterTracker.peekActivity();
if (activity != null) {
GlobalEventManager.appActive(((AbstractWeexActivity) activity)
if (activity != null&&activity instanceof ISupportWeexActivity) {
GlobalEventManager.appActive(((ISupportWeexActivity) activity)
.getWXSDkInstance());
}
//app resume try check verison
Expand All @@ -105,8 +105,8 @@ public void onTaskSwitchToForeground() {
@Override
public void onTaskSwitchToBackground() {
Activity activity = RouterTracker.peekActivity();
if (activity != null) {
GlobalEventManager.appDeactive(((AbstractWeexActivity) activity)
if (activity != null&&activity instanceof ISupportWeexActivity) {
GlobalEventManager.appDeactive(((ISupportWeexActivity) activity)
.getWXSDkInstance());
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/benmu/framework/activity/DebugActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* Created by Carry on 2017/8/25.
*/

public class DebugActivity extends AbstractWeexActivity {
public class DebugActivity extends SupportWeexActivity {
private TextView tv_appversion;
private TextView tv_jsverision;
private CheckBox cb_inter, cb_hotrefresh;
Expand Down Expand Up @@ -56,7 +56,7 @@ private void initView() {
cb_inter.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharePreferenceUtil.setInterceptorActive(mAct, isChecked ? Constant
SharePreferenceUtil.setInterceptorActive(DebugActivity.this, isChecked ? Constant
.INTERCEPTOR_ACTIVE : Constant.INTERCEPTOR_DEACTIVE);
ManagerFactory.getManagerService(DispatchEventManager.class).getBus().post(new
Intent
Expand All @@ -77,7 +77,7 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.e("DebugActivity", "onCheckedChanged -> " + isChecked);
SharePreferenceUtil.setHotRefreshSwitch(mAct, isChecked);
SharePreferenceUtil.setHotRefreshSwitch(DebugActivity.this, isChecked);
ManagerFactory.getManagerService(DispatchEventManager.class).getBus().post(new
Intent
(WXConstant.ACTION_INTERCEPTOR_SWTICH));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* Created by Carry on 2017/8/25.
*/

public class GlobalWebViewActivity extends AbstractWeexActivity {
public class GlobalWebViewActivity extends SupportWeexActivity {
private View rl_refresh;
private ProgressBar mProgressBar;
private WebView mWeb;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.benmu.framework.constant.Constant;
import com.benmu.framework.manager.impl.GlobalEventManager;
import com.benmu.framework.model.NotificationBean;
import com.benmu.framework.support.ISupportWeexActivity;
import com.taobao.weex.WXSDKInstance;
import java.io.Serializable;

Expand All @@ -31,8 +32,8 @@ public void onCreate(Bundle savedInstanceState) {
NotificationBean bean = (NotificationBean) serializable;
//发送事件
Activity activity = RouterTracker.peekActivity();
if (activity instanceof AbstractWeexActivity) {
WXSDKInstance wxsDkInstance = ((AbstractWeexActivity) activity)
if (activity instanceof ISupportWeexActivity) {
WXSDKInstance wxsDkInstance = ((ISupportWeexActivity) activity)
.getWXSDkInstance();
GlobalEventManager.pushMessage(wxsDkInstance, com.benmu.framework.manager
.impl.PushManager.getParams
Expand Down
162 changes: 162 additions & 0 deletions src/main/java/com/benmu/framework/activity/SupportWeexActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
package com.benmu.framework.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;

import com.benmu.framework.model.RouterModel;
import com.benmu.framework.support.ISupportWeexActivity;
import com.benmu.framework.support.SupportWeexActivityDelegate;
import com.benmu.widget.view.BaseToolBar;
import com.taobao.weex.WXSDKInstance;

/**
* Created by haorui on 2018/4/19.
* Des:
*/

public class SupportWeexActivity extends AppCompatActivity implements ISupportWeexActivity{
public final SupportWeexActivityDelegate mDelegate = new SupportWeexActivityDelegate(this);

//====================System Callback====================
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDelegate.onCreate(savedInstanceState);
}

@Override
public void setContentView(int layoutResID) {
mDelegate.setContentView(layoutResID);
}

@Override
protected void onStart() {
super.onStart();
mDelegate.onStart();
}

@Override
protected void onResume() {
super.onResume();
mDelegate.onResume();
}

@Override
protected void onPause() {
super.onPause();
mDelegate.onPause();
}

@Override
protected void onStop() {
super.onStop();
mDelegate.onStop();
}

@Override
public void onBackPressed() {
mDelegate.onBackPressed();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mDelegate.onActivityResult(requestCode, resultCode, data);
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return mDelegate.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return mDelegate.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event);
}

//====================Custom Callback====================

@Override
public View getRootView() {
return mDelegate.getRootView();
}

@Override
public BaseToolBar getNavigationBar() {
return mDelegate.getNavigationBar();
}

@Override
public void showError() {
mDelegate.showError();
}

@Override
public void hideError() {
mDelegate.hideError();
}

@Override
public void showLoadingDialog(String msg) {
mDelegate.showLoadingDialog(msg);
}

@Override
public void closeDialog() {
mDelegate.closeDialog();
}

@Override
public RouterModel getRouterParam() {
return mDelegate.getRouterParam();
}

@Override
public void setRouterParam(RouterModel param) {
mDelegate.setRouterParam(param);
}

@Override
public WXSDKInstance getWXSDkInstance() {
return mDelegate.getWXSDkInstance();
}

@Override
public void onAttach(Activity activity) {
mDelegate.onAttach(activity);
}

@Override
public void onDetach(Activity activity,boolean force) {
mDelegate.onDetach(activity,force);
}

@Override
public void refresh() {
mDelegate.refresh();
}

@Override
public void onViewCreated(WXSDKInstance instance, View view) {
mDelegate.onViewCreated(instance, view);
}

@Override
public void onRenderSuccess(WXSDKInstance instance, int width, int height) {
mDelegate.onRenderSuccess(instance, width, height);
}

@Override
public void onRefreshSuccess(WXSDKInstance instance, int width, int height) {
mDelegate.onRefreshSuccess(instance, width, height);
}

@Override
public void onException(WXSDKInstance instance, String errCode, String msg) {
mDelegate.onException(instance, errCode, msg);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
import android.widget.TextView;

import com.benmu.framework.BMWXEnvironment;
import com.benmu.framework.activity.AbstractWeexActivity;
import com.benmu.framework.adapter.router.RouterTracker;
import com.benmu.framework.manager.ManagerFactory;
import com.benmu.framework.manager.impl.ParseManager;
import com.benmu.framework.model.BaseResultBean;
import com.benmu.framework.model.NavigatorBarModel;
import com.benmu.framework.support.ISupportWeexActivity;
import com.benmu.framework.utils.BMHookGlide;
import com.benmu.widget.utils.ColorUtils;
import com.benmu.widget.view.BaseToolBar;
Expand Down Expand Up @@ -171,8 +171,8 @@ public void onClick(View v) {
private static BaseToolBar getToolBar() {
Activity activity = RouterTracker.peekActivity();
if (activity != null) {
if (activity instanceof AbstractWeexActivity) {
AbstractWeexActivity abs = (AbstractWeexActivity) activity;
if (activity instanceof ISupportWeexActivity) {
ISupportWeexActivity abs = (ISupportWeexActivity) activity;
return abs.getNavigationBar();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;

import com.benmu.framework.BMWXEnvironment;
import com.benmu.framework.R;
import com.benmu.framework.activity.AbstractWeexActivity;
import com.benmu.framework.constant.Constant;
import com.benmu.framework.manager.ManagerFactory;
import com.benmu.framework.manager.impl.ModalManager;
import com.benmu.framework.manager.impl.ParseManager;
import com.benmu.framework.model.CallPhoneBean;
import com.benmu.framework.model.RouterModel;
import com.benmu.framework.model.WebViewParamBean;
import com.benmu.framework.support.ISupportWeexActivity;
import com.taobao.weex.bridge.JSCallback;
import com.taobao.weex.bridge.SimpleJSCallback;

Expand Down Expand Up @@ -92,9 +93,9 @@ public boolean back(Context context, String params) {
if (backParams instanceof Map) {
if (((Map) backParams).size() > 0) {
Activity activity = RouterTracker.peekActivity();
if (activity instanceof AbstractWeexActivity) {
if (activity instanceof ISupportWeexActivity) {
//设置back参数
((AbstractWeexActivity) activity).setRouterParam(routerModel);
((ISupportWeexActivity) activity).setRouterParam(routerModel);
}
}
}
Expand All @@ -105,23 +106,23 @@ public boolean back(Context context, String params) {
public RouterModel getParams(Context context) {
if (context == null) return null;
Activity activity = RouterTracker.peekActivity();
if (activity instanceof AbstractWeexActivity) {
return ((AbstractWeexActivity) activity).getRouterParam();
if (activity instanceof ISupportWeexActivity) {
return ((ISupportWeexActivity) activity).getRouterParam();
}
return null;
}

public static boolean refresh(Context context) {
if (context instanceof AbstractWeexActivity) {
((AbstractWeexActivity) context).refresh();
if (context instanceof ISupportWeexActivity) {
((ISupportWeexActivity) context).refresh();
return true;
}
return false;
}

public static boolean finish(Context context) {
if (context instanceof AbstractWeexActivity) {
((AbstractWeexActivity) context).finish();
if (context instanceof AppCompatActivity) {
((AppCompatActivity) context).finish();
return true;
}
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import android.app.Activity;
import android.util.Log;

import com.benmu.framework.support.ISupportWeexActivity;

import java.util.Stack;

/**
Expand Down Expand Up @@ -250,8 +252,8 @@ private static void removeFrameEntirely(ActivityStackFrame frame) {


private static void notifyActivityRemove(Activity act,boolean force) {
if (act instanceof RouterTrackerListener) {
RouterTrackerListener routerTrackerListener = (RouterTrackerListener) act;
if (act instanceof ISupportWeexActivity) {
ISupportWeexActivity routerTrackerListener = (ISupportWeexActivity) act;
routerTrackerListener.onDetach(act,force);
} else {
Log.e(TAG, act.getClass().getName() + "is unTrack");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,16 @@
import android.widget.Toast;

import com.benmu.framework.BMWXEnvironment;
import com.benmu.framework.activity.AbstractWeexActivity;
import com.benmu.framework.activity.DebugActivity;
import com.benmu.framework.adapter.router.RouterTracker;
import com.benmu.framework.adapter.ws.DefaultWebSocketAdapter;
import com.benmu.framework.adapter.ws.WSConfig;
import com.benmu.framework.constant.Constant;
import com.benmu.framework.constant.WXConstant;
import com.benmu.framework.manager.ManagerFactory;
import com.benmu.framework.manager.impl.dispatcher.DispatchEventManager;
import com.benmu.framework.support.ISupportWeexActivity;
import com.benmu.framework.utils.DebugableUtil;
import com.benmu.framework.utils.SharePreferenceUtil;
import com.benmu.framework.utils.TextUtil;
import com.squareup.otto.Subscribe;
import com.taobao.weex.appfram.websocket.IWebSocketAdapter;
import com.taobao.weex.appfram.websocket.WebSocketCloseCodes;
Expand Down Expand Up @@ -96,8 +94,8 @@ public void onMessage(String data) {
if (!checkIsOpenHotRefresh()) return;
if (Instruction.REFRESH.equals(data)) {
Activity peek = RouterTracker.peekActivity();
if (peek instanceof AbstractWeexActivity) {
((AbstractWeexActivity) peek).refresh();
if (peek instanceof ISupportWeexActivity) {
((ISupportWeexActivity) peek).refresh();
}
}

Expand Down
Loading