This commit is contained in:
wangcongtao
2020-10-20 10:03:11 +08:00
parent 7cc699e251
commit 2ecf7d2a48
16 changed files with 184 additions and 116 deletions

View File

@@ -7,35 +7,19 @@ import android.view.WindowManager;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.module.common.wm.WindowManagerView;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.logger.Logger;
public class BackToMainHomeManager {
private static final String TAG = "BackToMainHomeManager";
private static IMogoFragmentManager mFragmentManager;
private static IMogoStatusManager mStatusManager;
private static IMogoServiceApis mApis;
public static void init( IMogoServiceApis apis ) {
mApis = apis;
mFragmentManager = apis.getFragmentManagerApi();
mStatusManager = apis.getStatusManagerApi();
}
public static void backToLauncher() {
if ( mStatusManager == null ) {
Logger.e( TAG, "未初始化完成" );
return;
}
if ( mStatusManager.isMainPageOnResume() ) {
if ( mStatusManager.isSearchUIShow() ) {
mFragmentManager.clearAll();
}
return;
}
Intent intent2 = new Intent();
// 是否发自系统消息
@@ -63,21 +47,22 @@ public class BackToMainHomeManager {
.size( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT )
.gravity( Gravity.LEFT | Gravity.TOP )
.showInWindowManager();
mWindowManagerView.attachTouchEvent( (view, xPos, yPos) -> {
mWindowManagerView.attachTouchEvent( ( view, xPos, yPos ) -> {
backToLauncher();
} );
}
try {
}
public static void showFloatButton() {
if ( mWindowManagerView != null && !mWindowManagerView.isShowing() ) {
mWindowManagerView.show();
} catch ( Exception e ) {
e.printStackTrace();
}
}
public static void removeMainHomeView() {
if ( mWindowManagerView != null ) {
public static void hideFloatButton() {
if ( mWindowManagerView != null && mWindowManagerView.isShowing() ) {
mWindowManagerView.dismiss();
}
}
}

View File

@@ -20,6 +20,15 @@ public class MogoLauncher implements IMogoLauncher {
BackToMainHomeManager.backToLauncher();
}
@Override
public void setFloatButtonVisible( boolean visible ) {
if ( visible ) {
BackToMainHomeManager.showFloatButton();
} else {
BackToMainHomeManager.hideFloatButton();
}
}
@Override
public void init( Context context ) {