Skip to content

Commit

Permalink
🥜 add service for methodChannel
Browse files Browse the repository at this point in the history
  • Loading branch information
persilee committed Jun 17, 2020
1 parent 811ff03 commit 643475a
Show file tree
Hide file tree
Showing 22 changed files with 98 additions and 38 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ dependencies {
//base库
implementation project(':lib_base')
//引入flutter模块
implementation project(path: ':flutter')
implementation project(':flutter')
//引入百度AI语音库
implementation project(':lib_asr')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import net.lishaoy.android_ctrip.events.GotoSpeakDestinationPageEvent;
import net.lishaoy.android_ctrip.events.GotoSpeakTravelPageEvent;
import net.lishaoy.android_ctrip.events.GotoTravelSearchPageEvent;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;

import org.greenrobot.eventbus.EventBus;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package net.lishaoy.android_ctrip.service;


import android.content.Context;
import android.util.Log;

import com.alibaba.android.arouter.facade.annotation.Route;

import net.lishaoy.android_ctrip.channel.MethodChannelPlugin;
import net.lishaoy.lib_base.app.service.MethodChannelService;

import io.flutter.view.FlutterView;

@Route(path = "/app/MethodChannel")
public class MethodChannelServiceImp implements MethodChannelService {
@Override
public void registerWith(FlutterView flutterView) {
MethodChannelPlugin.registerWith(flutterView);
}

@Override
public void init(Context context) {
Log.i(MethodChannelServiceImp.class.getSimpleName(),"init");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.gyf.immersionbar.ImmersionBar;

import net.lishaoy.android_ctrip.R;
import net.lishaoy.android_ctrip.channel.MethodChannelPlugin;
import net.lishaoy.lib_asr.asr.AsrPlugin;

import io.flutter.facade.Flutter;
Expand All @@ -32,6 +33,7 @@ protected void onCreate(Bundle savedInstanceState) {
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
setContentView(flutterView,layoutParams);
MethodChannelPlugin.registerWith(flutterView);
AsrPlugin.registerWith(flutterView);
}

Expand Down
2 changes: 1 addition & 1 deletion flutter_module/lib/pages/search_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ class _SearchPageState extends State<SearchPage> {
);
}
_jumpToSpeak() {
NavigatorUtil.push(context, SpeakPage());
NavigatorUtil.push(context, SpeakPage(pageType: 'home'));
}

_onTextChange(String text) {
Expand Down
3 changes: 1 addition & 2 deletions ft_home/src/main/java/net/lishaoy/ft_home/GridNavView.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.Toast;

import androidx.annotation.Nullable;

import net.lishaoy.ft_home.model.Home;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;

import butterknife.BindView;
import butterknife.ButterKnife;
Expand Down
6 changes: 2 additions & 4 deletions ft_home/src/main/java/net/lishaoy/ft_home/HomeFragment.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home;

import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
Expand Down Expand Up @@ -30,7 +29,6 @@
import com.scwang.smart.refresh.layout.simple.SimpleMultiListener;
import com.youth.banner.Banner;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.transformer.ZoomOutPageTransformer;
import com.youth.banner.util.BannerUtils;

import net.lishaoy.ft_home.adapter.HomeBannerAdapter;
Expand All @@ -45,7 +43,7 @@
import net.lishaoy.ft_home.model.Home;
import net.lishaoy.ft_home.util.CustomScrollView;
import net.lishaoy.ft_home.util.EllipseIndicator;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_common_ui.utils.Utils;
import net.lishaoy.lib_network.listener.DisposeDataListener;
import net.lucode.hackware.magicindicator.MagicIndicator;
Expand Down Expand Up @@ -139,7 +137,7 @@ private void initViews() {

@Override
public void onScrollChanged() {
tabViewTop = homeTabPageContainer.getTop();
tabViewTop = homeTabPageContainer.getTop() + homeSearchBarContainer.getHeight();
}
};
view.getViewTreeObserver().addOnScrollChangedListener(mScrollChangedListener);
Expand Down
4 changes: 1 addition & 3 deletions ft_home/src/main/java/net/lishaoy/ft_home/LocalNavView.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home;

import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
Expand All @@ -12,9 +11,8 @@
import androidx.annotation.Nullable;

import net.lishaoy.ft_home.model.Home;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import org.jetbrains.annotations.NotNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package net.lishaoy.ft_home.adapter;

import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
Expand All @@ -10,9 +9,8 @@

import com.youth.banner.adapter.BannerAdapter;
import net.lishaoy.ft_home.model.Home;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -14,9 +13,8 @@
import net.lishaoy.ft_home.R;
import net.lishaoy.ft_home.R2;
import net.lishaoy.ft_home.model.Home;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -15,9 +14,8 @@
import net.lishaoy.ft_home.R;
import net.lishaoy.ft_home.R2;
import net.lishaoy.ft_home.model.TabFood;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -17,10 +16,9 @@
import net.lishaoy.ft_home.R;
import net.lishaoy.ft_home.R2;
import net.lishaoy.ft_home.model.TabNearItem;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_common_ui.utils.Utils;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -16,9 +15,8 @@
import net.lishaoy.ft_home.R;
import net.lishaoy.ft_home.R2;
import net.lishaoy.ft_home.model.TabScenic;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.lishaoy.ft_home.adapter;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -13,14 +12,11 @@
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;

import com.alibaba.android.arouter.launcher.ARouter;

import net.lishaoy.ft_home.R;
import net.lishaoy.ft_home.R2;
import net.lishaoy.ft_home.model.TabSelect;
import net.lishaoy.lib_base.lib_home.service.wrapper.WebViewImpl;
import net.lishaoy.lib_base.lib_webview.service.wrapper.WebViewImpl;
import net.lishaoy.lib_image_loader.app.ImageLoaderManager;
import net.lishaoy.lib_webview.WebActivity;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import net.lishaoy.ft_home.R;
import net.lishaoy.lib_asr.asr.AsrPlugin;
import net.lishaoy.lib_base.app.service.wrapper.MethodChannelImpl;

import io.flutter.facade.Flutter;
import io.flutter.view.FlutterView;
Expand All @@ -35,6 +36,9 @@ protected void onCreate(Bundle savedInstanceState) {
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
setContentView(flutterView,layoutParams);

AsrPlugin.registerWith(flutterView);

MethodChannelImpl.getInstance().registerWith(flutterView);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import net.lishaoy.ft_home.R;
import net.lishaoy.lib_asr.asr.AsrPlugin;
import net.lishaoy.lib_base.app.service.wrapper.MethodChannelImpl;

import io.flutter.facade.Flutter;
import io.flutter.view.FlutterView;
Expand All @@ -36,6 +37,7 @@ protected void onCreate(Bundle savedInstanceState) {
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
setContentView(flutterView,layoutParams);
MethodChannelImpl.getInstance().registerWith(flutterView);
AsrPlugin.registerWith(flutterView);
}

Expand Down
5 changes: 4 additions & 1 deletion lib_base/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,13 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation rootProject.depsLibs.appcompat
compileOnly rootProject.depsLibs.appcompat
//arouter库
compileOnly(rootProject.depsLibs.arouterapi) {
exclude group: 'com.android.support'
}
annotationProcessor rootProject.depsLibs.aroutercompiler

//引入flutter模块
compileOnly project(path: ':flutter')
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package net.lishaoy.lib_base.app.service;

import com.alibaba.android.arouter.facade.template.IProvider;

import io.flutter.view.FlutterView;

public interface MethodChannelService extends IProvider {
void registerWith(FlutterView flutterView);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package net.lishaoy.lib_base.app.service.wrapper;

import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.launcher.ARouter;

import net.lishaoy.lib_base.app.service.MethodChannelService;

import io.flutter.view.FlutterView;

public class MethodChannelImpl {
@Autowired(name = "/app/MethodChannel")
protected MethodChannelService methodChannelService;

private static MethodChannelImpl methodChannel = null;

public static MethodChannelImpl getInstance() {
if (methodChannel == null) {
synchronized (MethodChannelImpl.class) {
if (methodChannel == null) {
methodChannel = new MethodChannelImpl();
}
}
}

return methodChannel;
}

private MethodChannelImpl() {
ARouter.getInstance().inject(this);
}

public void registerWith(FlutterView flutterView) {
methodChannelService.registerWith(flutterView);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package net.lishaoy.lib_base.lib_home.service;
package net.lishaoy.lib_base.lib_webview.service;

import com.alibaba.android.arouter.facade.template.IProvider;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package net.lishaoy.lib_base.lib_home.service.wrapper;
package net.lishaoy.lib_base.lib_webview.service.wrapper;

import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.launcher.ARouter;

import net.lishaoy.lib_base.lib_home.service.WebViewService;
import net.lishaoy.lib_base.lib_webview.service.WebViewService;

public class WebViewImpl {
@Autowired(name = "/webview/webview_service") protected WebViewService webViewService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;

import net.lishaoy.lib_base.lib_home.service.WebViewService;
import net.lishaoy.lib_webview.WebActivity;
import net.lishaoy.lib_base.lib_webview.service.WebViewService;

@Route(path = "/webview/webview_service")
public class WebViewServiceImpl implements WebViewService {
Expand Down

0 comments on commit 643475a

Please sign in to comment.