From e05e9aa5427dcf0662e3e49803c1bc9eca901db3 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Fri, 23 Oct 2020 18:49:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9topview=E5=9C=A8vr=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../independent/MainIndependentActivity.java | 2 +- .../main/launcher/MainLauncherActivity.java | 24 ++++++++- .../src/main/res/values/dimens.xml | 5 ++ .../extensions/entrance/EntranceFragment.java | 50 +++++++++++++++++-- .../res/layout/include_navi_info_panle.xml | 2 +- .../res/layout/module_ext_layout_entrance.xml | 36 +++++++++++-- .../src/main/res/values-xhdpi/dimens.xml | 3 +- .../src/main/res/values/dimens.xml | 5 ++ .../v2x/fragment/V2XEventPanelFragment.kt | 25 +++++++++- .../v2x/listener/V2XLocationListener.java | 6 +++ 10 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 main-extensions/mogo-module-main-launcher/src/main/res/values/dimens.xml diff --git a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java index 53b3136c4a..7d19201968 100644 --- a/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java +++ b/main-extensions/mogo-module-main-independent/src/main/java/com/zhidao/mogo/module/main/independent/MainIndependentActivity.java @@ -37,7 +37,7 @@ public class MainIndependentActivity extends MainActivity { // 事件面板 FrameLayout.LayoutParams eventPanelParams = ( ( FrameLayout.LayoutParams ) mEventPanel.getLayoutParams() ); eventPanelParams.leftMargin = getResources().getDimensionPixelSize( R.dimen.module_main_entrance_fragment_container_marginLeft ); - mEntrance.setLayoutParams( eventPanelParams ); + mEventPanel.setLayoutParams( eventPanelParams ); // 事件面板 FrameLayout.LayoutParams historyMessagePanelParams = ( ( FrameLayout.LayoutParams ) mEventPanel.getLayoutParams() ); diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index 872b5f804f..f952d51835 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -5,6 +5,7 @@ import android.os.Bundle; import android.os.Process; import android.text.TextUtils; import android.view.View; +import android.widget.FrameLayout; import androidx.annotation.Nullable; @@ -13,6 +14,8 @@ import com.mogo.module.extensions.utils.ExtensionsConfig; import com.mogo.module.main.MainActivity; import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.service.intent.IMogoIntentListener; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; /** @@ -20,13 +23,15 @@ import com.mogo.utils.logger.Logger; * * @author tongchenfei */ -public class MainLauncherActivity extends MainActivity implements IMogoIntentListener { - +public class MainLauncherActivity extends MainActivity implements IMogoIntentListener, IMogoStatusChangedListener { + private static final String TAG = "MainLauncherActivity"; protected boolean mIsHomeKeyDown = false; @Override protected void onCreate( @Nullable Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); ExtensionsConfig.setNeedRequestUserInfo( true ); + mServiceApis.getStatusManagerApi().registerStatusChangedListener(TAG, + StatusDescriptor.VR_MODE, this); } @Override @@ -89,6 +94,8 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onDestroy() { super.onDestroy(); + mServiceApis.getStatusManagerApi().unregisterStatusChangedListener(TAG, + StatusDescriptor.VR_MODE, this); try { // acc off 之后会出现进程还在,但是页面被杀的情况,这个直接杀掉进程,然后让整个进程重启 Process.killProcess( Process.myPid() ); @@ -110,4 +117,17 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis sendBroadcast( intent ); Logger.d( TAG, "send msg to AI Voice" ); } + + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (isTrue) { + FrameLayout.LayoutParams entranceParams = ( ( FrameLayout.LayoutParams ) mEntrance.getLayoutParams() ); + entranceParams.leftMargin = getResources().getDimensionPixelSize( R.dimen.module_main_entrance_fragment_container_marginLeft_in_vr_mode ); + mEntrance.setLayoutParams( entranceParams ); + }else{ + FrameLayout.LayoutParams entranceParams = ( ( FrameLayout.LayoutParams ) mEntrance.getLayoutParams() ); + entranceParams.leftMargin = getResources().getDimensionPixelSize( R.dimen.module_main_entrance_fragment_container_marginLeft_out_vr_mode ); + mEntrance.setLayoutParams( entranceParams ); + } + } } diff --git a/main-extensions/mogo-module-main-launcher/src/main/res/values/dimens.xml b/main-extensions/mogo-module-main-launcher/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..79e190ca2d --- /dev/null +++ b/main-extensions/mogo-module-main-launcher/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 204px + 800px + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 7ec1345d38..0472822c92 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -79,6 +79,7 @@ import java.util.Random; import static com.mogo.module.common.utils.SPConst.getSPGuideRecord; import static com.mogo.module.common.utils.SPConst.getSpGuide; +import static com.mogo.module.extensions.ExtensionsModuleConst.TYPE_ENTRANCE; import static com.mogo.module.share.constant.ShareConstants.KEY_CLICK_SHARE_BUTTON; import static com.mogo.module.share.constant.ShareConstants.KEY_CLICK_SHARE_TIME; import static com.mogo.module.share.constant.ShareConstants.KEY_SERVER_SHOW_DAY_COUNT; @@ -170,6 +171,8 @@ public class EntranceFragment extends MvpFragment{ + // 进入vr模式 + enterVrMode(); + }); + + tvExitVrMode = findViewById(R.id.module_ext_exit_vr_mode); + tvExitVrMode.setOnClickListener((v)->{ + // 退出vr模式 + exitVrMode(); + }); dealWeatherContainer(); @@ -394,6 +408,28 @@ public class EntranceFragment extends MvpFragment