Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0
@@ -61,7 +61,7 @@ dependencies {
|
||||
|
||||
// implementation rootProject.ext.dependencies.moduledemo
|
||||
// implementation rootProject.ext.dependencies.moduledemo2
|
||||
implementation rootProject.ext.dependencies.modulechatting
|
||||
// implementation rootProject.ext.dependencies.modulechatting
|
||||
|
||||
|
||||
implementation rootProject.ext.dependencies.moduleonlinecar
|
||||
|
||||
@@ -6,10 +6,8 @@ import androidx.multidex.MultiDex;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.module.carchatting.CallChatConstant;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.module.onlinecar.OnLineCarConstants;
|
||||
import com.mogo.tanlu.constant.TanluConstants;
|
||||
|
||||
/**
|
||||
@@ -28,7 +26,7 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
DebugConfig.setNetMode( DebugConfig.NET_MODE_QA );
|
||||
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, "CARD_TYPE_ROAD_CODITION" ) );
|
||||
// MogoModulePaths.addModule(new MogoModule(OnLineCarConstants.TAG, "CARD_TYPE_ROAD_ONLINECAR"));
|
||||
MogoModulePaths.addModule(new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME));
|
||||
// MogoModulePaths.addModule(new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,7 +33,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
|
||||
}
|
||||
|
||||
private final VoiceClient mVoiceClient;
|
||||
private Map< String, IMogoVoiceCmdCallBack > mUnWakeupCmdMap = new HashMap<>();
|
||||
private Map< String, IMogoVoiceCmdCallBack > mCmdMap = new HashMap<>();
|
||||
|
||||
private AIAssist( Context context ) {
|
||||
// private constructor
|
||||
@@ -43,7 +43,7 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
|
||||
|
||||
@Override
|
||||
public void onCmdSelected( String cmd ) {
|
||||
final IMogoVoiceCmdCallBack cmdCallBack = mUnWakeupCmdMap.get( cmd );
|
||||
final IMogoVoiceCmdCallBack cmdCallBack = mCmdMap.get( cmd );
|
||||
if ( cmdCallBack != null ) {
|
||||
cmdCallBack.onCmdSelected( cmd );
|
||||
}
|
||||
@@ -51,17 +51,23 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
|
||||
|
||||
@Override
|
||||
public void onCmdAction( String speakText ) {
|
||||
|
||||
IMogoVoiceCmdCallBack cmdCallBack = mCmdMap.remove( speakText );
|
||||
if ( cmdCallBack != null ) {
|
||||
cmdCallBack.onCmdAction( speakText );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCmdCancel( String speakText ) {
|
||||
|
||||
IMogoVoiceCmdCallBack cmdCallBack = mCmdMap.remove( speakText );
|
||||
if ( cmdCallBack != null ) {
|
||||
cmdCallBack.onCmdCancel( speakText );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpeakEnd( String speakText ) {
|
||||
IMogoVoiceCmdCallBack callBack = mUnWakeupCmdMap.get( speakText );
|
||||
IMogoVoiceCmdCallBack callBack = mCmdMap.remove( speakText );
|
||||
if ( callBack != null ) {
|
||||
callBack.onSpeakEnd( speakText );
|
||||
}
|
||||
@@ -69,34 +75,81 @@ public class AIAssist implements VoiceClient.VoiceCmdCallBack {
|
||||
|
||||
@Override
|
||||
public void onSpeakSelectTimeOut( String speakText ) {
|
||||
IMogoVoiceCmdCallBack callBack = mUnWakeupCmdMap.get( speakText );
|
||||
IMogoVoiceCmdCallBack callBack = mCmdMap.remove( speakText );
|
||||
if ( callBack != null ) {
|
||||
callBack.onSpeakSelectTimeOut( speakText );
|
||||
}
|
||||
}
|
||||
|
||||
public void speakTTSVoice( String text ) {
|
||||
/**
|
||||
* 语音播报
|
||||
*
|
||||
* @param text
|
||||
*/
|
||||
public void speakTTSVoice( String text, IMogoVoiceCmdCallBack callBack ) {
|
||||
try {
|
||||
mCmdMap.put( text, callBack );
|
||||
mVoiceClient.speakDefault( text );
|
||||
} catch ( Exception e ) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 语音播报
|
||||
*
|
||||
* @param text 播报内容
|
||||
* @param type 播报策略
|
||||
*/
|
||||
public void speakTTSVoice( String text, VoicePreemptType type, IMogoVoiceCmdCallBack callBack ) {
|
||||
try {
|
||||
mCmdMap.put( text, callBack );
|
||||
mVoiceClient.speakTypeText( text, type.getPreemptType() );
|
||||
} catch ( Exception e ) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 问答类型语音注册:默认确认和取消
|
||||
*
|
||||
* @param tts 播报内容
|
||||
*/
|
||||
public void speakQAndACmd( String tts, IMogoVoiceCmdCallBack callBack ) {
|
||||
mCmdMap.put( tts, callBack );
|
||||
mVoiceClient.speakTtsAndRegistCmd( tts );
|
||||
}
|
||||
|
||||
/**
|
||||
* 问答类型语音注册
|
||||
*
|
||||
* @param tts 播报内容
|
||||
* @param okCmds 确认命令唤醒词
|
||||
* @param cancelCmds 取消命令唤醒词
|
||||
*/
|
||||
public void speakQAndACmd( String tts, String[] okCmds, String[] cancelCmds, IMogoVoiceCmdCallBack callBack ) {
|
||||
mCmdMap.put( tts, callBack );
|
||||
mVoiceClient.speakTtsAndRegistCmd( tts, okCmds, cancelCmds );
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册免唤醒命令
|
||||
*
|
||||
* @param cmd
|
||||
* @param cmdWords
|
||||
* @param callBack
|
||||
*/
|
||||
public void registerUnWakeupCommand( String cmd, String[] cmdWords, IMogoVoiceCmdCallBack callBack ) {
|
||||
mUnWakeupCmdMap.put( cmd, callBack );
|
||||
mCmdMap.put( cmd, callBack );
|
||||
mVoiceClient.registerCustomWakeupCmd( cmd, cmdWords );
|
||||
}
|
||||
|
||||
/**
|
||||
* 注销免唤醒命令
|
||||
*
|
||||
* @param cmd
|
||||
*/
|
||||
public void unregisterUnWakeupCommand( String cmd ) {
|
||||
mUnWakeupCmdMap.remove( cmd );
|
||||
mCmdMap.remove( cmd );
|
||||
mVoiceClient.unRegisterCustomWakeupCmd( cmd );
|
||||
}
|
||||
|
||||
public void registerTTSCallback( String tts, IMogoVoiceCmdCallBack cmdCallBack ) {
|
||||
mUnWakeupCmdMap.put( tts, cmdCallBack );
|
||||
}
|
||||
|
||||
public void unregisterTTSCallback( String tts ) {
|
||||
mUnWakeupCmdMap.remove( tts );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.mogo.commons.voice;
|
||||
|
||||
import com.zhidao.auto.platform.voice.VoiceClient;
|
||||
|
||||
public enum VoicePreemptType {
|
||||
|
||||
|
||||
PREEMPT_TYPE_NONE( VoiceClient.PreemptType.PREEMPT_TYPE_NONE ), //不打断
|
||||
PREEMPT_TYPE_IMMEADIATELY( VoiceClient.PreemptType.PREEMPT_TYPE_IMMEADIATELY ), //立即打断,取消当前的tts插队播放
|
||||
PREEMPT_TYPE_NEXT( VoiceClient.PreemptType.PREEMPT_TYPE_NEXT ), //下一个插入,不取消当前的tts,插队下一个播放
|
||||
PREEMPT_TYPE_FLUSH( VoiceClient.PreemptType.PREEMPT_TYPE_FLUSH ), //清空队列
|
||||
PREEMPT_TYPE_IMMEADIATELY_WITHOUT_CANCLE( VoiceClient.PreemptType.PREEMPT_TYPE_IMMEADIATELY_WITHOUT_CANCLE ); //立即打断,不取消当前tts
|
||||
|
||||
public VoiceClient.PreemptType preemptType;
|
||||
|
||||
VoicePreemptType( VoiceClient.PreemptType preemptType ) {
|
||||
this.preemptType = preemptType;
|
||||
}
|
||||
|
||||
public VoiceClient.PreemptType getPreemptType() {
|
||||
return preemptType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.mogo.module.apps;
|
||||
|
||||
import android.content.pm.PackageInfo;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-08
|
||||
* <p>
|
||||
* app 过滤规则
|
||||
*/
|
||||
public interface AppFilter {
|
||||
|
||||
/**
|
||||
* 过滤包
|
||||
*
|
||||
* @param packageInfo
|
||||
* @return true - 过滤 false - 不过滤
|
||||
*/
|
||||
boolean filter( PackageInfo packageInfo );
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.mogo.module.apps;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-08
|
||||
* <p>
|
||||
* 过滤 app
|
||||
*/
|
||||
public class AppFilterImpl implements AppFilter {
|
||||
|
||||
private final Context mContext;
|
||||
private List< String > mFilterPackages;
|
||||
|
||||
public AppFilterImpl( Context context ) {
|
||||
mContext = context;
|
||||
final String[] values = context.getResources().getStringArray( R.array.module_apps_array_filter_packages );
|
||||
if ( values != null ) {
|
||||
mFilterPackages = Arrays.asList( values );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean filter( PackageInfo packageInfo ) {
|
||||
// if ( isSystemApp( packageInfo ) ) {
|
||||
// return true;
|
||||
// }
|
||||
if ( isFilterPackages( packageInfo ) ) {
|
||||
return true;
|
||||
}
|
||||
if ( noLaunchIntent( packageInfo ) ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isSystemApp( PackageInfo packageInfo ) {
|
||||
return ( packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM ) != 0;
|
||||
}
|
||||
|
||||
private boolean isFilterPackages( PackageInfo packageInfo ) {
|
||||
return mFilterPackages.contains( packageInfo.packageName );
|
||||
}
|
||||
|
||||
private boolean noLaunchIntent( PackageInfo packageInfo ) {
|
||||
return mContext.getPackageManager().getLaunchIntentForPackage( packageInfo.packageName ) == null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,11 +3,11 @@ package com.mogo.module.apps;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.mogo.module.apps.model.AppInfo;
|
||||
|
||||
@@ -19,53 +19,59 @@ import java.util.List;
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class AppsAdapter extends RecyclerView.Adapter< AppsAdapter.AppsViewHolder > {
|
||||
public class AppsAdapter extends BaseAdapter {
|
||||
|
||||
private List< AppInfo > mAppInfos;
|
||||
|
||||
public AppsAdapter( List< AppInfo > appInfos ) {
|
||||
this.mAppInfos = appInfos;
|
||||
}
|
||||
private View.OnClickListener onClickListener;
|
||||
|
||||
public void refreshAppInfos( List< AppInfo > mAppInfos ) {
|
||||
this.mAppInfos = mAppInfos;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public AppsViewHolder onCreateViewHolder( @NonNull ViewGroup parent, int viewType ) {
|
||||
return new AppsViewHolder( LayoutInflater.from( parent.getContext() ).inflate( R.layout.module_apps_item_app, null ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder( @NonNull AppsViewHolder holder, int position ) {
|
||||
final AppInfo appInfo = mAppInfos.get( position );
|
||||
holder.mIcon.setImageDrawable( appInfo.getIcon() );
|
||||
holder.mName.setText( appInfo.getName() );
|
||||
holder.itemView.setTag(appInfo);
|
||||
holder.itemView.setOnClickListener(onClickListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
public int getCount() {
|
||||
return mAppInfos == null ? 0 : mAppInfos.size();
|
||||
}
|
||||
|
||||
public static class AppsViewHolder extends RecyclerView.ViewHolder {
|
||||
@Override
|
||||
public AppInfo getItem( int position ) {
|
||||
return mAppInfos.get( position );
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId( int position ) {
|
||||
return position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView( int position, View convertView, ViewGroup parent ) {
|
||||
AppViewHolder holder = null;
|
||||
if ( convertView == null ) {
|
||||
holder = new AppViewHolder( LayoutInflater.from( parent.getContext() ).inflate( R.layout.module_apps_item_app, null ) );
|
||||
} else {
|
||||
holder = ( ( AppViewHolder ) convertView.getTag() );
|
||||
}
|
||||
AppInfo appInfo = getItem( position );
|
||||
holder.mIcon.setImageDrawable( appInfo.getIcon() );
|
||||
holder.mName.setText( appInfo.getName() );
|
||||
return holder.mItemView;
|
||||
}
|
||||
|
||||
public static class AppViewHolder {
|
||||
|
||||
private View mItemView;
|
||||
public ImageView mIcon;
|
||||
public TextView mName;
|
||||
|
||||
public AppsViewHolder( @NonNull View itemView ) {
|
||||
super( itemView );
|
||||
public AppViewHolder( @NonNull View itemView ) {
|
||||
mItemView = itemView;
|
||||
mIcon = itemView.findViewById( R.id.module_apps_id_app_icon );
|
||||
mName = itemView.findViewById( R.id.module_apps_id_app_name );
|
||||
mItemView.setTag( this );
|
||||
}
|
||||
}
|
||||
|
||||
public void setOnClickListener(View.OnClickListener onClickListener) {
|
||||
this.onClickListener = onClickListener;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.mogo.module.apps;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-08
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class AppsConst {
|
||||
|
||||
public static final int TOTAL_SIZE_EACH_PAGE = 12;
|
||||
}
|
||||
@@ -1,16 +1,21 @@
|
||||
package com.mogo.module.apps;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.module.apps.model.AppInfo;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -23,8 +28,11 @@ public class AppsFragment extends MvpFragment< AppsView, AppsPresenter > impleme
|
||||
public static final String TAG = "AppsFragment";
|
||||
|
||||
// private BottomSheetBehavior mBottomSheetBehavior;
|
||||
private RecyclerView mAppsList;
|
||||
private AppsAdapter mAppsAdapter;
|
||||
private ViewPager mAppsPager;
|
||||
private AppsPagerAdapter mAppsPagerAdapter;
|
||||
|
||||
private View mExit;
|
||||
private IMogoFragmentManager mMogoFragmentManager;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
@@ -33,8 +41,13 @@ public class AppsFragment extends MvpFragment< AppsView, AppsPresenter > impleme
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
mAppsList = findViewById( R.id.module_apps_id_apps );
|
||||
mAppsList.setLayoutManager( new GridLayoutManager( getContext(), 8 ) );
|
||||
mAppsPager = findViewById( R.id.module_apps_id_apps_pager );
|
||||
mExit = findViewById( R.id.module_apps_id_apps_exit );
|
||||
mExit.setOnClickListener( view -> {
|
||||
mMogoFragmentManager.pop();
|
||||
} );
|
||||
// mAppsList = findViewById( R.id.module_apps_id_apps );
|
||||
// mAppsList.setLayoutManager( new GridLayoutManager( getContext(), 8 ) );
|
||||
// mBottomSheetBehavior = BottomSheetBehavior.from( mAppsList );
|
||||
// mBottomSheetBehavior.setSkipCollapsed( true );
|
||||
// mBottomSheetBehavior.setBottomSheetCallback( new BottomSheetBehavior.BottomSheetCallback() {
|
||||
@@ -60,23 +73,20 @@ public class AppsFragment extends MvpFragment< AppsView, AppsPresenter > impleme
|
||||
@Override
|
||||
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
|
||||
super.onActivityCreated( savedInstanceState );
|
||||
mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderApps( List< AppInfo > appInfos ) {
|
||||
if ( mAppsAdapter == null ) {
|
||||
mAppsAdapter = new AppsAdapter( appInfos );
|
||||
mAppsList.setAdapter( mAppsAdapter );
|
||||
bindListener();
|
||||
public void renderApps( Map< Integer, List< AppInfo > > appInfos ) {
|
||||
if ( mAppsPagerAdapter == null ) {
|
||||
mAppsPagerAdapter = new AppsPagerAdapter( appInfos );
|
||||
mAppsPager.setAdapter( mAppsPagerAdapter );
|
||||
mAppsPagerAdapter.setOnAppClickedListener( ( appInfo, position ) -> {
|
||||
Logger.i( TAG, "position = %d clicked. name = %s", position, appInfo.getName() );
|
||||
mPresenter.launch( appInfo );
|
||||
} );
|
||||
} else {
|
||||
mAppsAdapter.refreshAppInfos( appInfos );
|
||||
mAppsPagerAdapter.setPagedApps( appInfos );
|
||||
}
|
||||
}
|
||||
|
||||
private void bindListener() {
|
||||
mAppsAdapter.setOnClickListener( view -> {
|
||||
AppInfo app = ( AppInfo ) view.getTag();
|
||||
mPresenter.launch( app );
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.mogo.module.apps;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.GridView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
|
||||
import com.mogo.module.apps.model.AppInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-08
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class AppsPagerAdapter extends PagerAdapter {
|
||||
|
||||
private Map< Integer, List< AppInfo > > mPagedApps;
|
||||
private OnAppClickedListener mOnAppClickedListener;
|
||||
|
||||
public AppsPagerAdapter( Map< Integer, List< AppInfo > > apps ) {
|
||||
this.mPagedApps = apps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mPagedApps == null ? 0 : mPagedApps.size();
|
||||
}
|
||||
|
||||
public void setOnAppClickedListener( OnAppClickedListener onAppClickedListener ) {
|
||||
this.mOnAppClickedListener = onAppClickedListener;
|
||||
}
|
||||
|
||||
public OnAppClickedListener getOnAppClickedListener() {
|
||||
return mOnAppClickedListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewFromObject( @NonNull View view, @NonNull Object object ) {
|
||||
return view == object;
|
||||
}
|
||||
|
||||
public void setPagedApps( Map< Integer, List< AppInfo > > pagedApps ) {
|
||||
this.mPagedApps = pagedApps;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Object instantiateItem( @NonNull ViewGroup container, int position ) {
|
||||
View pager = LayoutInflater.from( container.getContext() ).inflate( R.layout.module_apps_item_app_pager, null );
|
||||
GridView page = pager.findViewById( R.id.module_apps_id_apps_page );
|
||||
page.setAdapter( new AppsAdapter( mPagedApps.get( position ) ) );
|
||||
page.setOnItemClickListener( ( parent, view, appPosition, id ) -> {
|
||||
if ( getOnAppClickedListener() != null ) {
|
||||
getOnAppClickedListener().onClick( mPagedApps.get( position ).get( appPosition ), position * AppsConst.TOTAL_SIZE_EACH_PAGE + appPosition );
|
||||
}
|
||||
} );
|
||||
container.addView( page );
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyItem( @NonNull ViewGroup container, int position, @NonNull Object object ) {
|
||||
if ( object instanceof View ) {
|
||||
container.removeView( ( ( View ) object ) );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemPosition( @NonNull Object object ) {
|
||||
return POSITION_NONE;
|
||||
}
|
||||
|
||||
public interface OnAppClickedListener {
|
||||
void onClick( AppInfo appInfo, int position );
|
||||
}
|
||||
}
|
||||
@@ -13,11 +13,14 @@ import androidx.lifecycle.Observer;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.module.apps.model.AppInfo;
|
||||
import com.mogo.utils.ThreadPoolService;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -29,13 +32,12 @@ public class AppsPresenter extends Presenter< AppsView > {
|
||||
|
||||
private static final String TAG = "AppsPresenter";
|
||||
|
||||
private AppFilter mAppFilter;
|
||||
|
||||
public AppsPresenter( AppsView view ) {
|
||||
super( view );
|
||||
RefreshAppsListLiveData.getInstance().observeForever( new Observer< String >() {
|
||||
@Override
|
||||
public void onChanged( String s ) {
|
||||
renderAppsList();
|
||||
}
|
||||
RefreshAppsListLiveData.getInstance().observeForever( s -> {
|
||||
renderAppsList();
|
||||
} );
|
||||
}
|
||||
|
||||
@@ -46,55 +48,58 @@ public class AppsPresenter extends Presenter< AppsView > {
|
||||
}
|
||||
|
||||
private void renderAppsList() {
|
||||
ThreadPoolService.execute( new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
final List< AppInfo > appInfoList = loadAppsList();
|
||||
UiThreadHandler.post( new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if ( mView != null ) {
|
||||
mView.renderApps( appInfoList );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
}
|
||||
ThreadPoolService.execute( () -> {
|
||||
final Map< Integer, List< AppInfo > > appInfoList = loadAppsList();
|
||||
UiThreadHandler.post( () -> {
|
||||
if ( mView != null ) {
|
||||
mView.renderApps( appInfoList );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
}
|
||||
|
||||
private List< AppInfo > loadAppsList() {
|
||||
private Map< Integer, List< AppInfo > > loadAppsList() {
|
||||
Logger.i( TAG, "load apps list." );
|
||||
final List< AppInfo > appInfos = new ArrayList<>();
|
||||
if ( mAppFilter == null ) {
|
||||
mAppFilter = new AppFilterImpl( getContext() );
|
||||
}
|
||||
|
||||
final Map< Integer, List< AppInfo > > pagedApps = new HashMap<>();
|
||||
final PackageManager packageManager = getContext().getPackageManager();
|
||||
List< PackageInfo > packages = packageManager.getInstalledPackages( 0 );
|
||||
int counter = 0;
|
||||
for ( int i = 0; i < packages.size(); ++i ) {
|
||||
PackageInfo packageInfo = packages.get( i );
|
||||
//获取非系统应用
|
||||
if ( ( packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM ) == 0 ) {
|
||||
String appName = packageInfo.applicationInfo.loadLabel( packageManager ).toString();
|
||||
String packageName = packageInfo.packageName;
|
||||
String versionName = packageInfo.versionName;
|
||||
int versionCode = packageInfo.versionCode;
|
||||
Drawable appIcon = packageInfo.applicationInfo.loadIcon( packageManager );
|
||||
AppInfo appInfo = new AppInfo( appName, packageName, versionName, versionCode, appIcon );
|
||||
appInfos.add( appInfo );
|
||||
if ( mAppFilter.filter( packageInfo ) ) {
|
||||
continue;
|
||||
}
|
||||
int page = counter++ / AppsConst.TOTAL_SIZE_EACH_PAGE;
|
||||
if ( !pagedApps.containsKey( page ) ) {
|
||||
pagedApps.put( page, new ArrayList<>() );
|
||||
}
|
||||
String appName = packageInfo.applicationInfo.loadLabel( packageManager ).toString();
|
||||
String packageName = packageInfo.packageName;
|
||||
String versionName = packageInfo.versionName;
|
||||
int versionCode = packageInfo.versionCode;
|
||||
Drawable appIcon = packageInfo.applicationInfo.loadIcon( packageManager );
|
||||
AppInfo appInfo = new AppInfo( appName, packageName, versionName, versionCode, appIcon );
|
||||
pagedApps.get( page ).add( appInfo );
|
||||
}
|
||||
return appInfos;
|
||||
return pagedApps;
|
||||
}
|
||||
|
||||
public void launch( AppInfo appInfo ) {
|
||||
if ( appInfo == null ) {
|
||||
return;
|
||||
}
|
||||
Intent intent = getContext().getPackageManager().getLaunchIntentForPackage( appInfo.getPackageName() );
|
||||
if ( intent == null ) {
|
||||
Logger.e( TAG, "can't launch app: %s", appInfo.toString() );
|
||||
return;
|
||||
|
||||
try {
|
||||
Intent intent = getContext().getPackageManager().getLaunchIntentForPackage( appInfo.getPackageName() );
|
||||
intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
getContext().startActivity( intent );
|
||||
} catch ( Exception e ) {
|
||||
TipToast.shortTip( R.string.module_apps_str_no_app );
|
||||
}
|
||||
intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
getContext().startActivity( intent );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.module.apps.model.AppInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -18,5 +19,5 @@ public interface AppsView extends IView {
|
||||
*
|
||||
* @param appInfos
|
||||
*/
|
||||
void renderApps( List< AppInfo > appInfos );
|
||||
void renderApps( Map< Integer, List< AppInfo > > appInfos );
|
||||
}
|
||||
|
||||
BIN
modules/mogo-module-apps/src/main/res/drawable-xhdpi/module_apps_ic_retract.png
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -12,15 +12,22 @@
|
||||
<!-- app:layout_behavior="@string/bottom_sheet_behavior" />-->
|
||||
<!--</androidx.coordinatorlayout.widget.CoordinatorLayout>-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="#0C0C0C">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/module_apps_id_apps"
|
||||
<ImageView
|
||||
android:id="@+id/module_apps_id_apps_exit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:src="@drawable/module_apps_ic_retract" />
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/module_apps_id_apps_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:behavior_hideable="false"
|
||||
app:behavior_peekHeight="76dp" />
|
||||
</LinearLayout>
|
||||
android:layout_marginTop="@dimen/dp_210" />
|
||||
</FrameLayout>
|
||||
@@ -8,13 +8,16 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_apps_id_app_icon"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp" />
|
||||
android:layout_width="@dimen/dp_120"
|
||||
android:layout_height="@dimen/dp_120" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_apps_id_app_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:gravity="center"
|
||||
android:maxLines="2" />
|
||||
android:maxLines="2"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_32" />
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/module_apps_id_apps_page"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:numColumns="6"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/dp_220"
|
||||
android:paddingRight="@dimen/dp_220"
|
||||
android:verticalSpacing="@dimen/dp_154">
|
||||
|
||||
</GridView>
|
||||
@@ -1,3 +1,7 @@
|
||||
<resources>
|
||||
<string name="app_name">mogo-module-apps</string>
|
||||
<string name="module_apps_str_no_app">APP 未安装</string>
|
||||
<string-array name="module_apps_array_filter_packages">
|
||||
<item>com.mogo.launcher</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
i/
|
||||
@@ -1 +0,0 @@
|
||||
o/full
|
||||
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.mogo.module.navi;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String LIBRARY_PACKAGE_NAME = "com.mogo.module.navi";
|
||||
/**
|
||||
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String APPLICATION_ID = "com.mogo.module.navi";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "1.0.0-SNAPSHOT";
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.enums.RouteType;
|
||||
import com.alibaba.android.arouter.facade.model.RouteMeta;
|
||||
import com.alibaba.android.arouter.facade.template.IRouteGroup;
|
||||
import com.mogo.module.navi.ui.NaviActivity;
|
||||
import com.mogo.module.navi.ui.search.SearchFragment;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Group$$navi implements IRouteGroup {
|
||||
@Override
|
||||
public void loadInto(Map<String, RouteMeta> atlas) {
|
||||
atlas.put("/navi/search", RouteMeta.build(RouteType.FRAGMENT, SearchFragment.class, "/navi/search", "navi", null, -1, -2147483648));
|
||||
atlas.put("/navi/search/ui/activity", RouteMeta.build(RouteType.ACTIVITY, NaviActivity.class, "/navi/search/ui/activity", "navi", null, -1, -2147483648));
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.model.RouteMeta;
|
||||
import com.alibaba.android.arouter.facade.template.IProviderGroup;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Providers$$mogomodulenavi implements IProviderGroup {
|
||||
@Override
|
||||
public void loadInto(Map<String, RouteMeta> providers) {
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IRouteGroup;
|
||||
import com.alibaba.android.arouter.facade.template.IRouteRoot;
|
||||
import java.lang.Class;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Root$$mogomodulenavi implements IRouteRoot {
|
||||
@Override
|
||||
public void loadInto(Map<String, Class<? extends IRouteGroup>> routes) {
|
||||
routes.put("navi", ARouter$$Group$$navi.class);
|
||||
}
|
||||
}
|
||||
@@ -1,424 +0,0 @@
|
||||
package com.mogo.module.navi.dao;
|
||||
|
||||
import android.database.Cursor;
|
||||
import androidx.room.EmptyResultSetException;
|
||||
import androidx.room.EntityDeletionOrUpdateAdapter;
|
||||
import androidx.room.EntityInsertionAdapter;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.RoomSQLiteQuery;
|
||||
import androidx.sqlite.db.SupportSQLiteStatement;
|
||||
import com.mogo.module.navi.bean.SearchPoi;
|
||||
import io.reactivex.Single;
|
||||
import java.lang.Exception;
|
||||
import java.lang.Long;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.lang.SuppressWarnings;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public final class SearchPoiDao_Impl implements SearchPoiDao {
|
||||
private final RoomDatabase __db;
|
||||
|
||||
private final EntityInsertionAdapter __insertionAdapterOfSearchPoi;
|
||||
|
||||
private final EntityDeletionOrUpdateAdapter __deletionAdapterOfSearchPoi;
|
||||
|
||||
public SearchPoiDao_Impl(RoomDatabase __db) {
|
||||
this.__db = __db;
|
||||
this.__insertionAdapterOfSearchPoi = new EntityInsertionAdapter<SearchPoi>(__db) {
|
||||
@Override
|
||||
public String createQuery() {
|
||||
return "INSERT OR REPLACE INTO `t_search_poi`(`pId`,`name`,`address`,`lat`,`lng`,`district`,`adCode`,`typeCode`,`province`,`city`,`type`,`time`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(SupportSQLiteStatement stmt, SearchPoi value) {
|
||||
if (value.pId == null) {
|
||||
stmt.bindNull(1);
|
||||
} else {
|
||||
stmt.bindString(1, value.pId);
|
||||
}
|
||||
if (value.getName() == null) {
|
||||
stmt.bindNull(2);
|
||||
} else {
|
||||
stmt.bindString(2, value.getName());
|
||||
}
|
||||
if (value.getAddress() == null) {
|
||||
stmt.bindNull(3);
|
||||
} else {
|
||||
stmt.bindString(3, value.getAddress());
|
||||
}
|
||||
stmt.bindDouble(4, value.getLat());
|
||||
stmt.bindDouble(5, value.getLng());
|
||||
if (value.getDistrict() == null) {
|
||||
stmt.bindNull(6);
|
||||
} else {
|
||||
stmt.bindString(6, value.getDistrict());
|
||||
}
|
||||
if (value.getAdCode() == null) {
|
||||
stmt.bindNull(7);
|
||||
} else {
|
||||
stmt.bindString(7, value.getAdCode());
|
||||
}
|
||||
if (value.getTypeCode() == null) {
|
||||
stmt.bindNull(8);
|
||||
} else {
|
||||
stmt.bindString(8, value.getTypeCode());
|
||||
}
|
||||
if (value.getProvince() == null) {
|
||||
stmt.bindNull(9);
|
||||
} else {
|
||||
stmt.bindString(9, value.getProvince());
|
||||
}
|
||||
if (value.getCity() == null) {
|
||||
stmt.bindNull(10);
|
||||
} else {
|
||||
stmt.bindString(10, value.getCity());
|
||||
}
|
||||
stmt.bindLong(11, value.getType());
|
||||
stmt.bindLong(12, value.getTime());
|
||||
}
|
||||
};
|
||||
this.__deletionAdapterOfSearchPoi = new EntityDeletionOrUpdateAdapter<SearchPoi>(__db) {
|
||||
@Override
|
||||
public String createQuery() {
|
||||
return "DELETE FROM `t_search_poi` WHERE `pId` = ?";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(SupportSQLiteStatement stmt, SearchPoi value) {
|
||||
if (value.pId == null) {
|
||||
stmt.bindNull(1);
|
||||
} else {
|
||||
stmt.bindString(1, value.pId);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> insert(SearchPoi... datums) {
|
||||
__db.beginTransaction();
|
||||
try {
|
||||
List<Long> _result = __insertionAdapterOfSearchPoi.insertAndReturnIdsList(datums);
|
||||
__db.setTransactionSuccessful();
|
||||
return _result;
|
||||
} finally {
|
||||
__db.endTransaction();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delete(SearchPoi poi) {
|
||||
int _total = 0;
|
||||
__db.beginTransaction();
|
||||
try {
|
||||
_total +=__deletionAdapterOfSearchPoi.handle(poi);
|
||||
__db.setTransactionSuccessful();
|
||||
return _total;
|
||||
} finally {
|
||||
__db.endTransaction();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteAll(List<SearchPoi> list) {
|
||||
int _total = 0;
|
||||
__db.beginTransaction();
|
||||
try {
|
||||
_total +=__deletionAdapterOfSearchPoi.handleMultiple(list);
|
||||
__db.setTransactionSuccessful();
|
||||
return _total;
|
||||
} finally {
|
||||
__db.endTransaction();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<List<SearchPoi>> getLastN(int limit) {
|
||||
final String _sql = "SELECT * FROM t_search_poi WHERE type=0 ORDER BY time DESC LIMIT ?";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1);
|
||||
int _argIndex = 1;
|
||||
_statement.bindLong(_argIndex, limit);
|
||||
return Single.fromCallable(new Callable<List<SearchPoi>>() {
|
||||
@Override
|
||||
public List<SearchPoi> call() throws Exception {
|
||||
final Cursor _cursor = __db.query(_statement);
|
||||
try {
|
||||
final int _cursorIndexOfPId = _cursor.getColumnIndexOrThrow("pId");
|
||||
final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name");
|
||||
final int _cursorIndexOfAddress = _cursor.getColumnIndexOrThrow("address");
|
||||
final int _cursorIndexOfLat = _cursor.getColumnIndexOrThrow("lat");
|
||||
final int _cursorIndexOfLng = _cursor.getColumnIndexOrThrow("lng");
|
||||
final int _cursorIndexOfDistrict = _cursor.getColumnIndexOrThrow("district");
|
||||
final int _cursorIndexOfAdCode = _cursor.getColumnIndexOrThrow("adCode");
|
||||
final int _cursorIndexOfTypeCode = _cursor.getColumnIndexOrThrow("typeCode");
|
||||
final int _cursorIndexOfProvince = _cursor.getColumnIndexOrThrow("province");
|
||||
final int _cursorIndexOfCity = _cursor.getColumnIndexOrThrow("city");
|
||||
final int _cursorIndexOfType = _cursor.getColumnIndexOrThrow("type");
|
||||
final int _cursorIndexOfTime = _cursor.getColumnIndexOrThrow("time");
|
||||
final java.util.List<com.mogo.module.navi.bean.SearchPoi> _result = new java.util.ArrayList<com.mogo.module.navi.bean.SearchPoi>(_cursor.getCount());
|
||||
while(_cursor.moveToNext()) {
|
||||
final com.mogo.module.navi.bean.SearchPoi _item;
|
||||
final java.lang.String _tmpPId;
|
||||
_tmpPId = _cursor.getString(_cursorIndexOfPId);
|
||||
final java.lang.String _tmpName;
|
||||
_tmpName = _cursor.getString(_cursorIndexOfName);
|
||||
final java.lang.String _tmpAddress;
|
||||
_tmpAddress = _cursor.getString(_cursorIndexOfAddress);
|
||||
final double _tmpLat;
|
||||
_tmpLat = _cursor.getDouble(_cursorIndexOfLat);
|
||||
final double _tmpLng;
|
||||
_tmpLng = _cursor.getDouble(_cursorIndexOfLng);
|
||||
final java.lang.String _tmpDistrict;
|
||||
_tmpDistrict = _cursor.getString(_cursorIndexOfDistrict);
|
||||
final java.lang.String _tmpAdCode;
|
||||
_tmpAdCode = _cursor.getString(_cursorIndexOfAdCode);
|
||||
final java.lang.String _tmpTypeCode;
|
||||
_tmpTypeCode = _cursor.getString(_cursorIndexOfTypeCode);
|
||||
_item = new com.mogo.module.navi.bean.SearchPoi(_tmpPId,_tmpName,_tmpAddress,_tmpLat,_tmpLng,_tmpDistrict,_tmpAdCode,_tmpTypeCode);
|
||||
final java.lang.String _tmpProvince;
|
||||
_tmpProvince = _cursor.getString(_cursorIndexOfProvince);
|
||||
_item.setProvince(_tmpProvince);
|
||||
final java.lang.String _tmpCity;
|
||||
_tmpCity = _cursor.getString(_cursorIndexOfCity);
|
||||
_item.setCity(_tmpCity);
|
||||
final int _tmpType;
|
||||
_tmpType = _cursor.getInt(_cursorIndexOfType);
|
||||
_item.setType(_tmpType);
|
||||
final long _tmpTime;
|
||||
_tmpTime = _cursor.getLong(_cursorIndexOfTime);
|
||||
_item.setTime(_tmpTime);
|
||||
_result.add(_item);
|
||||
}
|
||||
if(_result == null) {
|
||||
throw new EmptyResultSetException("Query returned empty result set: " + _statement.getSql());
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() {
|
||||
_statement.release();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<List<SearchPoi>> getAll() {
|
||||
final String _sql = "SELECT * FROM t_search_poi WHERE type=0";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
|
||||
return Single.fromCallable(new Callable<List<SearchPoi>>() {
|
||||
@Override
|
||||
public List<SearchPoi> call() throws Exception {
|
||||
final Cursor _cursor = __db.query(_statement);
|
||||
try {
|
||||
final int _cursorIndexOfPId = _cursor.getColumnIndexOrThrow("pId");
|
||||
final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name");
|
||||
final int _cursorIndexOfAddress = _cursor.getColumnIndexOrThrow("address");
|
||||
final int _cursorIndexOfLat = _cursor.getColumnIndexOrThrow("lat");
|
||||
final int _cursorIndexOfLng = _cursor.getColumnIndexOrThrow("lng");
|
||||
final int _cursorIndexOfDistrict = _cursor.getColumnIndexOrThrow("district");
|
||||
final int _cursorIndexOfAdCode = _cursor.getColumnIndexOrThrow("adCode");
|
||||
final int _cursorIndexOfTypeCode = _cursor.getColumnIndexOrThrow("typeCode");
|
||||
final int _cursorIndexOfProvince = _cursor.getColumnIndexOrThrow("province");
|
||||
final int _cursorIndexOfCity = _cursor.getColumnIndexOrThrow("city");
|
||||
final int _cursorIndexOfType = _cursor.getColumnIndexOrThrow("type");
|
||||
final int _cursorIndexOfTime = _cursor.getColumnIndexOrThrow("time");
|
||||
final java.util.List<com.mogo.module.navi.bean.SearchPoi> _result = new java.util.ArrayList<com.mogo.module.navi.bean.SearchPoi>(_cursor.getCount());
|
||||
while(_cursor.moveToNext()) {
|
||||
final com.mogo.module.navi.bean.SearchPoi _item;
|
||||
final java.lang.String _tmpPId;
|
||||
_tmpPId = _cursor.getString(_cursorIndexOfPId);
|
||||
final java.lang.String _tmpName;
|
||||
_tmpName = _cursor.getString(_cursorIndexOfName);
|
||||
final java.lang.String _tmpAddress;
|
||||
_tmpAddress = _cursor.getString(_cursorIndexOfAddress);
|
||||
final double _tmpLat;
|
||||
_tmpLat = _cursor.getDouble(_cursorIndexOfLat);
|
||||
final double _tmpLng;
|
||||
_tmpLng = _cursor.getDouble(_cursorIndexOfLng);
|
||||
final java.lang.String _tmpDistrict;
|
||||
_tmpDistrict = _cursor.getString(_cursorIndexOfDistrict);
|
||||
final java.lang.String _tmpAdCode;
|
||||
_tmpAdCode = _cursor.getString(_cursorIndexOfAdCode);
|
||||
final java.lang.String _tmpTypeCode;
|
||||
_tmpTypeCode = _cursor.getString(_cursorIndexOfTypeCode);
|
||||
_item = new com.mogo.module.navi.bean.SearchPoi(_tmpPId,_tmpName,_tmpAddress,_tmpLat,_tmpLng,_tmpDistrict,_tmpAdCode,_tmpTypeCode);
|
||||
final java.lang.String _tmpProvince;
|
||||
_tmpProvince = _cursor.getString(_cursorIndexOfProvince);
|
||||
_item.setProvince(_tmpProvince);
|
||||
final java.lang.String _tmpCity;
|
||||
_tmpCity = _cursor.getString(_cursorIndexOfCity);
|
||||
_item.setCity(_tmpCity);
|
||||
final int _tmpType;
|
||||
_tmpType = _cursor.getInt(_cursorIndexOfType);
|
||||
_item.setType(_tmpType);
|
||||
final long _tmpTime;
|
||||
_tmpTime = _cursor.getLong(_cursorIndexOfTime);
|
||||
_item.setTime(_tmpTime);
|
||||
_result.add(_item);
|
||||
}
|
||||
if(_result == null) {
|
||||
throw new EmptyResultSetException("Query returned empty result set: " + _statement.getSql());
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() {
|
||||
_statement.release();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<List<SearchPoi>> getHomeAddress() {
|
||||
final String _sql = "SELECT * FROM t_search_poi WHERE type=1";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
|
||||
return Single.fromCallable(new Callable<List<SearchPoi>>() {
|
||||
@Override
|
||||
public List<SearchPoi> call() throws Exception {
|
||||
final Cursor _cursor = __db.query(_statement);
|
||||
try {
|
||||
final int _cursorIndexOfPId = _cursor.getColumnIndexOrThrow("pId");
|
||||
final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name");
|
||||
final int _cursorIndexOfAddress = _cursor.getColumnIndexOrThrow("address");
|
||||
final int _cursorIndexOfLat = _cursor.getColumnIndexOrThrow("lat");
|
||||
final int _cursorIndexOfLng = _cursor.getColumnIndexOrThrow("lng");
|
||||
final int _cursorIndexOfDistrict = _cursor.getColumnIndexOrThrow("district");
|
||||
final int _cursorIndexOfAdCode = _cursor.getColumnIndexOrThrow("adCode");
|
||||
final int _cursorIndexOfTypeCode = _cursor.getColumnIndexOrThrow("typeCode");
|
||||
final int _cursorIndexOfProvince = _cursor.getColumnIndexOrThrow("province");
|
||||
final int _cursorIndexOfCity = _cursor.getColumnIndexOrThrow("city");
|
||||
final int _cursorIndexOfType = _cursor.getColumnIndexOrThrow("type");
|
||||
final int _cursorIndexOfTime = _cursor.getColumnIndexOrThrow("time");
|
||||
final java.util.List<com.mogo.module.navi.bean.SearchPoi> _result = new java.util.ArrayList<com.mogo.module.navi.bean.SearchPoi>(_cursor.getCount());
|
||||
while(_cursor.moveToNext()) {
|
||||
final com.mogo.module.navi.bean.SearchPoi _item;
|
||||
final java.lang.String _tmpPId;
|
||||
_tmpPId = _cursor.getString(_cursorIndexOfPId);
|
||||
final java.lang.String _tmpName;
|
||||
_tmpName = _cursor.getString(_cursorIndexOfName);
|
||||
final java.lang.String _tmpAddress;
|
||||
_tmpAddress = _cursor.getString(_cursorIndexOfAddress);
|
||||
final double _tmpLat;
|
||||
_tmpLat = _cursor.getDouble(_cursorIndexOfLat);
|
||||
final double _tmpLng;
|
||||
_tmpLng = _cursor.getDouble(_cursorIndexOfLng);
|
||||
final java.lang.String _tmpDistrict;
|
||||
_tmpDistrict = _cursor.getString(_cursorIndexOfDistrict);
|
||||
final java.lang.String _tmpAdCode;
|
||||
_tmpAdCode = _cursor.getString(_cursorIndexOfAdCode);
|
||||
final java.lang.String _tmpTypeCode;
|
||||
_tmpTypeCode = _cursor.getString(_cursorIndexOfTypeCode);
|
||||
_item = new com.mogo.module.navi.bean.SearchPoi(_tmpPId,_tmpName,_tmpAddress,_tmpLat,_tmpLng,_tmpDistrict,_tmpAdCode,_tmpTypeCode);
|
||||
final java.lang.String _tmpProvince;
|
||||
_tmpProvince = _cursor.getString(_cursorIndexOfProvince);
|
||||
_item.setProvince(_tmpProvince);
|
||||
final java.lang.String _tmpCity;
|
||||
_tmpCity = _cursor.getString(_cursorIndexOfCity);
|
||||
_item.setCity(_tmpCity);
|
||||
final int _tmpType;
|
||||
_tmpType = _cursor.getInt(_cursorIndexOfType);
|
||||
_item.setType(_tmpType);
|
||||
final long _tmpTime;
|
||||
_tmpTime = _cursor.getLong(_cursorIndexOfTime);
|
||||
_item.setTime(_tmpTime);
|
||||
_result.add(_item);
|
||||
}
|
||||
if(_result == null) {
|
||||
throw new EmptyResultSetException("Query returned empty result set: " + _statement.getSql());
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() {
|
||||
_statement.release();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<List<SearchPoi>> getCompanyAddress() {
|
||||
final String _sql = "SELECT * FROM t_search_poi WHERE type=2";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
|
||||
return Single.fromCallable(new Callable<List<SearchPoi>>() {
|
||||
@Override
|
||||
public List<SearchPoi> call() throws Exception {
|
||||
final Cursor _cursor = __db.query(_statement);
|
||||
try {
|
||||
final int _cursorIndexOfPId = _cursor.getColumnIndexOrThrow("pId");
|
||||
final int _cursorIndexOfName = _cursor.getColumnIndexOrThrow("name");
|
||||
final int _cursorIndexOfAddress = _cursor.getColumnIndexOrThrow("address");
|
||||
final int _cursorIndexOfLat = _cursor.getColumnIndexOrThrow("lat");
|
||||
final int _cursorIndexOfLng = _cursor.getColumnIndexOrThrow("lng");
|
||||
final int _cursorIndexOfDistrict = _cursor.getColumnIndexOrThrow("district");
|
||||
final int _cursorIndexOfAdCode = _cursor.getColumnIndexOrThrow("adCode");
|
||||
final int _cursorIndexOfTypeCode = _cursor.getColumnIndexOrThrow("typeCode");
|
||||
final int _cursorIndexOfProvince = _cursor.getColumnIndexOrThrow("province");
|
||||
final int _cursorIndexOfCity = _cursor.getColumnIndexOrThrow("city");
|
||||
final int _cursorIndexOfType = _cursor.getColumnIndexOrThrow("type");
|
||||
final int _cursorIndexOfTime = _cursor.getColumnIndexOrThrow("time");
|
||||
final java.util.List<com.mogo.module.navi.bean.SearchPoi> _result = new java.util.ArrayList<com.mogo.module.navi.bean.SearchPoi>(_cursor.getCount());
|
||||
while(_cursor.moveToNext()) {
|
||||
final com.mogo.module.navi.bean.SearchPoi _item;
|
||||
final java.lang.String _tmpPId;
|
||||
_tmpPId = _cursor.getString(_cursorIndexOfPId);
|
||||
final java.lang.String _tmpName;
|
||||
_tmpName = _cursor.getString(_cursorIndexOfName);
|
||||
final java.lang.String _tmpAddress;
|
||||
_tmpAddress = _cursor.getString(_cursorIndexOfAddress);
|
||||
final double _tmpLat;
|
||||
_tmpLat = _cursor.getDouble(_cursorIndexOfLat);
|
||||
final double _tmpLng;
|
||||
_tmpLng = _cursor.getDouble(_cursorIndexOfLng);
|
||||
final java.lang.String _tmpDistrict;
|
||||
_tmpDistrict = _cursor.getString(_cursorIndexOfDistrict);
|
||||
final java.lang.String _tmpAdCode;
|
||||
_tmpAdCode = _cursor.getString(_cursorIndexOfAdCode);
|
||||
final java.lang.String _tmpTypeCode;
|
||||
_tmpTypeCode = _cursor.getString(_cursorIndexOfTypeCode);
|
||||
_item = new com.mogo.module.navi.bean.SearchPoi(_tmpPId,_tmpName,_tmpAddress,_tmpLat,_tmpLng,_tmpDistrict,_tmpAdCode,_tmpTypeCode);
|
||||
final java.lang.String _tmpProvince;
|
||||
_tmpProvince = _cursor.getString(_cursorIndexOfProvince);
|
||||
_item.setProvince(_tmpProvince);
|
||||
final java.lang.String _tmpCity;
|
||||
_tmpCity = _cursor.getString(_cursorIndexOfCity);
|
||||
_item.setCity(_tmpCity);
|
||||
final int _tmpType;
|
||||
_tmpType = _cursor.getInt(_cursorIndexOfType);
|
||||
_item.setType(_tmpType);
|
||||
final long _tmpTime;
|
||||
_tmpTime = _cursor.getLong(_cursorIndexOfTime);
|
||||
_item.setTime(_tmpTime);
|
||||
_result.add(_item);
|
||||
}
|
||||
if(_result == null) {
|
||||
throw new EmptyResultSetException("Query returned empty result set: " + _statement.getSql());
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() {
|
||||
_statement.release();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
package com.mogo.module.navi.database;
|
||||
|
||||
import androidx.room.DatabaseConfiguration;
|
||||
import androidx.room.InvalidationTracker;
|
||||
import androidx.room.RoomOpenHelper;
|
||||
import androidx.room.RoomOpenHelper.Delegate;
|
||||
import androidx.room.util.TableInfo;
|
||||
import androidx.room.util.TableInfo.Column;
|
||||
import androidx.room.util.TableInfo.ForeignKey;
|
||||
import androidx.room.util.TableInfo.Index;
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase;
|
||||
import androidx.sqlite.db.SupportSQLiteOpenHelper;
|
||||
import androidx.sqlite.db.SupportSQLiteOpenHelper.Callback;
|
||||
import androidx.sqlite.db.SupportSQLiteOpenHelper.Configuration;
|
||||
import com.mogo.module.navi.dao.SearchPoiDao;
|
||||
import com.mogo.module.navi.dao.SearchPoiDao_Impl;
|
||||
import java.lang.IllegalStateException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.lang.SuppressWarnings;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public final class AppDataBase_Impl extends AppDataBase {
|
||||
private volatile SearchPoiDao _searchPoiDao;
|
||||
|
||||
@Override
|
||||
protected SupportSQLiteOpenHelper createOpenHelper(DatabaseConfiguration configuration) {
|
||||
final SupportSQLiteOpenHelper.Callback _openCallback = new RoomOpenHelper(configuration, new RoomOpenHelper.Delegate(1) {
|
||||
@Override
|
||||
public void createAllTables(SupportSQLiteDatabase _db) {
|
||||
_db.execSQL("CREATE TABLE IF NOT EXISTS `t_search_poi` (`pId` TEXT NOT NULL, `name` TEXT, `address` TEXT, `lat` REAL NOT NULL, `lng` REAL NOT NULL, `district` TEXT, `adCode` TEXT, `typeCode` TEXT, `province` TEXT, `city` TEXT, `type` INTEGER NOT NULL, `time` INTEGER NOT NULL, PRIMARY KEY(`pId`))");
|
||||
_db.execSQL("CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)");
|
||||
_db.execSQL("INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"3c76b4248850c6e62d751825b93ce372\")");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropAllTables(SupportSQLiteDatabase _db) {
|
||||
_db.execSQL("DROP TABLE IF EXISTS `t_search_poi`");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(SupportSQLiteDatabase _db) {
|
||||
if (mCallbacks != null) {
|
||||
for (int _i = 0, _size = mCallbacks.size(); _i < _size; _i++) {
|
||||
mCallbacks.get(_i).onCreate(_db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOpen(SupportSQLiteDatabase _db) {
|
||||
mDatabase = _db;
|
||||
internalInitInvalidationTracker(_db);
|
||||
if (mCallbacks != null) {
|
||||
for (int _i = 0, _size = mCallbacks.size(); _i < _size; _i++) {
|
||||
mCallbacks.get(_i).onOpen(_db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void validateMigration(SupportSQLiteDatabase _db) {
|
||||
final HashMap<String, TableInfo.Column> _columnsTSearchPoi = new HashMap<String, TableInfo.Column>(12);
|
||||
_columnsTSearchPoi.put("pId", new TableInfo.Column("pId", "TEXT", true, 1));
|
||||
_columnsTSearchPoi.put("name", new TableInfo.Column("name", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("address", new TableInfo.Column("address", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("lat", new TableInfo.Column("lat", "REAL", true, 0));
|
||||
_columnsTSearchPoi.put("lng", new TableInfo.Column("lng", "REAL", true, 0));
|
||||
_columnsTSearchPoi.put("district", new TableInfo.Column("district", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("adCode", new TableInfo.Column("adCode", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("typeCode", new TableInfo.Column("typeCode", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("province", new TableInfo.Column("province", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("city", new TableInfo.Column("city", "TEXT", false, 0));
|
||||
_columnsTSearchPoi.put("type", new TableInfo.Column("type", "INTEGER", true, 0));
|
||||
_columnsTSearchPoi.put("time", new TableInfo.Column("time", "INTEGER", true, 0));
|
||||
final HashSet<TableInfo.ForeignKey> _foreignKeysTSearchPoi = new HashSet<TableInfo.ForeignKey>(0);
|
||||
final HashSet<TableInfo.Index> _indicesTSearchPoi = new HashSet<TableInfo.Index>(0);
|
||||
final TableInfo _infoTSearchPoi = new TableInfo("t_search_poi", _columnsTSearchPoi, _foreignKeysTSearchPoi, _indicesTSearchPoi);
|
||||
final TableInfo _existingTSearchPoi = TableInfo.read(_db, "t_search_poi");
|
||||
if (! _infoTSearchPoi.equals(_existingTSearchPoi)) {
|
||||
throw new IllegalStateException("Migration didn't properly handle t_search_poi(com.mogo.module.navi.bean.SearchPoi).\n"
|
||||
+ " Expected:\n" + _infoTSearchPoi + "\n"
|
||||
+ " Found:\n" + _existingTSearchPoi);
|
||||
}
|
||||
}
|
||||
}, "3c76b4248850c6e62d751825b93ce372", "1e694e62e3fb46f02d0cfcf9314e2afb");
|
||||
final SupportSQLiteOpenHelper.Configuration _sqliteConfig = SupportSQLiteOpenHelper.Configuration.builder(configuration.context)
|
||||
.name(configuration.name)
|
||||
.callback(_openCallback)
|
||||
.build();
|
||||
final SupportSQLiteOpenHelper _helper = configuration.sqliteOpenHelperFactory.create(_sqliteConfig);
|
||||
return _helper;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected InvalidationTracker createInvalidationTracker() {
|
||||
return new InvalidationTracker(this, "t_search_poi");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearAllTables() {
|
||||
super.assertNotMainThread();
|
||||
final SupportSQLiteDatabase _db = super.getOpenHelper().getWritableDatabase();
|
||||
try {
|
||||
super.beginTransaction();
|
||||
_db.execSQL("DELETE FROM `t_search_poi`");
|
||||
super.setTransactionSuccessful();
|
||||
} finally {
|
||||
super.endTransaction();
|
||||
_db.query("PRAGMA wal_checkpoint(FULL)").close();
|
||||
if (!_db.inTransaction()) {
|
||||
_db.execSQL("VACUUM");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SearchPoiDao poiDao() {
|
||||
if (_searchPoiDao != null) {
|
||||
return _searchPoiDao;
|
||||
} else {
|
||||
synchronized(this) {
|
||||
if(_searchPoiDao == null) {
|
||||
_searchPoiDao = new SearchPoiDao_Impl(this);
|
||||
}
|
||||
return _searchPoiDao;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.module.navi"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0.0-SNAPSHOT" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
<application>
|
||||
<activity android:name="com.mogo.module.navi.ui.NaviActivity" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -1 +0,0 @@
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0-SNAPSHOT","enabled":true,"outputFile":"mogo-module-navi-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"com.mogo.module.navi","split":""}}]
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/debug/jniLibs"/></dataSet></merger>
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/debug/shaders"/></dataSet></merger>
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/assets"/><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/debug/assets"/></dataSet></merger>
|
||||
@@ -1,17 +0,0 @@
|
||||
#Wed Jan 08 11:21:41 CST 2020
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_wash.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_wash.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_tolit.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_tolit.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/activity_navi.xml=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/layout/activity_navi.xml
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_position.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_position.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/drawable/shape_round_gray.xml=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/drawable/shape_round_gray.xml
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_back.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_back.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_gas.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_gas.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_company.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_company.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/item_search_poi.xml=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/layout/item_search_poi.xml
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/fragment_search.xml=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/layout/fragment_search.xml
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_restrant.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_restrant.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/drawable/amap_white_shadow_bkg.9.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/drawable/amap_white_shadow_bkg.9.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_setting.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_setting.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_home.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_home.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_park.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_park.png
|
||||
/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_location.png=/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/icon_navi_location.png
|
||||
@@ -1,54 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="arrow_color">#00BFFF</color>
|
||||
<color name="bg_common">#080625</color>
|
||||
<color name="bg_gray_common_page">#ff080625</color>
|
||||
<color name="colorAccent">#D81B60</color>
|
||||
<color name="colorPrimary">#008577</color>
|
||||
<color name="colorPrimaryDark">#00574B</color>
|
||||
<color name="txt_blue">#3E7FFC</color>
|
||||
<color name="txt_gray_day">#4D080625</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="white_10">#1AFFFFFF</color>
|
||||
<color name="white_30">#4DFFFFFF</color>
|
||||
<color name="white_60">#99FFFFFF</color>
|
||||
<color name="white_7f">#7FFFFFFF</color>
|
||||
<dimen name="txt_normal">@dimen/sp_32</dimen>
|
||||
<item name="tag_position" type="id"/>
|
||||
<string name="app_name">mogo-module-navi</string>
|
||||
<string name="hint_map_search">查看地点、公交、地铁</string>
|
||||
<string name="history_clear">清空历史</string>
|
||||
<string name="history_empty">暂无历史结果</string>
|
||||
<string name="history_search">搜索历史</string>
|
||||
<string name="navi_company">去公司</string>
|
||||
<string name="navi_gas">加油站</string>
|
||||
<string name="navi_home">回家</string>
|
||||
<string name="navi_park">停车场</string>
|
||||
<string name="navi_restrant">餐馆</string>
|
||||
<string name="navi_setting">更多设置</string>
|
||||
<string name="navi_toilet">卫生间</string>
|
||||
<string name="navi_wash">洗车</string>
|
||||
<string name="search_empty">暂无搜索结果</string>
|
||||
<style name="amap_fragment_container_margin_style">
|
||||
<item name="android:layout_marginTop">25dp</item>
|
||||
<item name="android:layout_marginLeft">48dp</item>
|
||||
<item name="android:background">@drawable/amap_white_shadow_bkg</item>
|
||||
</style>
|
||||
<style name="amap_fragment_container_padding_style">
|
||||
<item name="android:paddingTop">25dp</item>
|
||||
<item name="android:paddingLeft">48dp</item>
|
||||
</style>
|
||||
<style name="amap_fragment_container_shadow_style">
|
||||
<item name="android:paddingTop">25dp</item>
|
||||
<item name="android:paddingLeft">48dp</item>
|
||||
</style>
|
||||
<style name="txt_navi_style">
|
||||
<item name="android:layout_width">@dimen/dp_268</item>
|
||||
<item name="android:gravity">center_horizontal</item>
|
||||
<item name="android:textSize">@dimen/txt_normal</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="android:background">@drawable/shape_round_gray</item>
|
||||
<item name="android:layout_height">@dimen/dp_236</item>
|
||||
<item name="android:paddingTop">@dimen/dp_44</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res"/><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/generated/res/rs/debug"/><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res"><file name="shape_round_gray" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/drawable/shape_round_gray.xml" qualifiers="" type="drawable"/><file name="amap_white_shadow_bkg" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/drawable/amap_white_shadow_bkg.9.png" qualifiers="" type="drawable"/><file name="activity_navi" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/activity_navi.xml" qualifiers="" type="layout"/><file name="fragment_search" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/fragment_search.xml" qualifiers="" type="layout"/><file name="item_search_poi" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/layout/item_search_poi.xml" qualifiers="" type="layout"/><file path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary">#008577</color><color name="colorPrimaryDark">#00574B</color><color name="colorAccent">#D81B60</color><color name="bg_gray_common_page">#ff080625</color><color name="white">#FFFFFF</color><color name="white_10">#1AFFFFFF</color><color name="white_60">#99FFFFFF</color><color name="white_7f">#7FFFFFFF</color><color name="arrow_color">#00BFFF</color><color name="white_30">#4DFFFFFF</color><color name="txt_gray_day">#4D080625</color><color name="bg_common">#080625</color><color name="txt_blue">#3E7FFC</color></file><file path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/values/dimens.xml" qualifiers=""><dimen name="txt_normal">@dimen/sp_32</dimen></file><file path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/values/styles.xml" qualifiers=""><style name="amap_fragment_container_padding_style">
|
||||
<item name="android:paddingTop">25dp</item>
|
||||
<item name="android:paddingLeft">48dp</item>
|
||||
</style><style name="amap_fragment_container_margin_style">
|
||||
<item name="android:layout_marginTop">25dp</item>
|
||||
<item name="android:layout_marginLeft">48dp</item>
|
||||
<item name="android:background">@drawable/amap_white_shadow_bkg</item>
|
||||
</style><style name="amap_fragment_container_shadow_style">
|
||||
<item name="android:paddingTop">25dp</item>
|
||||
<item name="android:paddingLeft">48dp</item>
|
||||
</style><style name="txt_navi_style">
|
||||
<item name="android:layout_width">@dimen/dp_268</item>
|
||||
<item name="android:gravity">center_horizontal</item>
|
||||
<item name="android:textSize">@dimen/txt_normal</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="android:background">@drawable/shape_round_gray</item>
|
||||
<item name="android:layout_height">@dimen/dp_236</item>
|
||||
<item name="android:paddingTop">@dimen/dp_44</item>
|
||||
</style></file><file path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">mogo-module-navi</string><string name="hint_map_search">查看地点、公交、地铁</string><string name="history_search">搜索历史</string><string name="navi_home">回家</string><string name="navi_company">去公司</string><string name="navi_restrant">餐馆</string><string name="navi_gas">加油站</string><string name="navi_toilet">卫生间</string><string name="navi_park">停车场</string><string name="navi_wash">洗车</string><string name="navi_setting">更多设置</string><string name="history_clear">清空历史</string><string name="history_empty">暂无历史结果</string><string name="search_empty">暂无搜索结果</string></file><file path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/values/ids.xml" qualifiers=""><item name="tag_position" type="id"/></file><file name="icon_navi_park" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_park.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_back" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_back.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_location" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_location.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_company" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_company.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_setting" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_setting.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_home" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_home.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_gas" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_gas.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_tolit" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_tolit.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_position" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_position.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_restrant" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_restrant.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="icon_navi_wash" path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/res/mipmap-xhdpi/icon_navi_wash.png" qualifiers="xhdpi-v4" type="mipmap"/></source><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/generated/res/rs/debug"/><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/debug/res"/></dataSet><mergedItems/></merger>
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.module.navi"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0.0-SNAPSHOT" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
<application>
|
||||
<activity android:name="com.mogo.module.navi.ui.NaviActivity" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -1,71 +0,0 @@
|
||||
R_DEF: Internal format may change without notice
|
||||
local
|
||||
color arrow_color
|
||||
color bg_common
|
||||
color bg_gray_common_page
|
||||
color colorAccent
|
||||
color colorPrimary
|
||||
color colorPrimaryDark
|
||||
color txt_blue
|
||||
color txt_gray_day
|
||||
color white
|
||||
color white_10
|
||||
color white_30
|
||||
color white_60
|
||||
color white_7f
|
||||
dimen txt_normal
|
||||
drawable amap_white_shadow_bkg
|
||||
drawable shape_round_gray
|
||||
id et_navi_search
|
||||
id fl_container
|
||||
id iv_navi_back
|
||||
id iv_position
|
||||
id ll_navi_home
|
||||
id ll_navi_search
|
||||
id rl_navi_history
|
||||
id rv_navi_history
|
||||
id rv_navi_search
|
||||
id tag_position
|
||||
id tv_navi_gas
|
||||
id tv_navi_history
|
||||
id tv_navi_history_clear
|
||||
id tv_navi_list_empty
|
||||
id tv_navi_park
|
||||
id tv_navi_restaurant
|
||||
id tv_navi_setting
|
||||
id tv_navi_toilet
|
||||
id tv_navi_wash
|
||||
id tv_position
|
||||
id tv_position_des
|
||||
layout activity_navi
|
||||
layout fragment_search
|
||||
layout item_search_poi
|
||||
mipmap icon_back
|
||||
mipmap icon_navi_company
|
||||
mipmap icon_navi_gas
|
||||
mipmap icon_navi_home
|
||||
mipmap icon_navi_location
|
||||
mipmap icon_navi_park
|
||||
mipmap icon_navi_position
|
||||
mipmap icon_navi_restrant
|
||||
mipmap icon_navi_setting
|
||||
mipmap icon_navi_tolit
|
||||
mipmap icon_navi_wash
|
||||
string app_name
|
||||
string hint_map_search
|
||||
string history_clear
|
||||
string history_empty
|
||||
string history_search
|
||||
string navi_company
|
||||
string navi_gas
|
||||
string navi_home
|
||||
string navi_park
|
||||
string navi_restrant
|
||||
string navi_setting
|
||||
string navi_toilet
|
||||
string navi_wash
|
||||
string search_empty
|
||||
style amap_fragment_container_margin_style
|
||||
style amap_fragment_container_padding_style
|
||||
style amap_fragment_container_shadow_style
|
||||
style txt_navi_style
|
||||
@@ -1,20 +0,0 @@
|
||||
1<?xml version="1.0" encoding="utf-8"?>
|
||||
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
3 package="com.mogo.module.navi"
|
||||
4 android:versionCode="1"
|
||||
5 android:versionName="1.0.0-SNAPSHOT" >
|
||||
6
|
||||
7 <uses-sdk
|
||||
8 android:minSdkVersion="19"
|
||||
8-->/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/AndroidManifest.xml
|
||||
9 android:targetSdkVersion="22" />
|
||||
9-->/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/AndroidManifest.xml
|
||||
10
|
||||
11 <application>
|
||||
11-->/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/AndroidManifest.xml:5:3-7:17
|
||||
12 <activity android:name="com.mogo.module.navi.ui.NaviActivity" />
|
||||
12-->/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/AndroidManifest.xml:6:5-58
|
||||
12-->/Users/admin/Android/ADAS/Launcher/modules/mogo-module-navi/src/main/AndroidManifest.xml:6:15-46
|
||||
13 </application>
|
||||
14
|
||||
15</manifest>
|
||||
@@ -1 +0,0 @@
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0-SNAPSHOT","enabled":true,"outputFile":"mogo-module-navi-debug.aar","fullName":"debug","baseName":"debug"},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"com.mogo.module.navi","split":""}}]
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<solid android:color="#3F4057"/>
|
||||
<corners android:radius="@dimen/dp_8"/>
|
||||
</shape>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.NaviActivity"
|
||||
>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,223 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingBottom="@dimen/dp_60"
|
||||
android:paddingLeft="@dimen/dp_60"
|
||||
android:paddingRight="@dimen/dp_60"
|
||||
android:paddingTop="@dimen/dp_40"
|
||||
tools:context=".ui.search.SearchFragment"
|
||||
style="@style/amap_fragment_container_padding_style"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_navi_search"
|
||||
android:layout_width="600dp"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
>
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:id="@+id/iv_navi_back"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:layout_marginLeft="@dimen/dp_24"
|
||||
android:layout_marginRight="@dimen/dp_20"
|
||||
android:src="@mipmap/icon_back"
|
||||
/>
|
||||
<EditText
|
||||
android:layout_width="0dp"
|
||||
android:id="@+id/et_navi_search"
|
||||
android:background="@null"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:imeOptions="actionDone"
|
||||
android:hint="@string/hint_map_search"
|
||||
android:textColor="@color/white"
|
||||
android:textColorHint="@color/white_60"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_navi_home"
|
||||
android:layout_width="@dimen/dp_568"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginLeft="@dimen/dp_32"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toRightOf="@id/ll_navi_search"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
android:paddingLeft="@dimen/dp_75"
|
||||
android:gravity="center_vertical"
|
||||
android:drawableLeft="@mipmap/icon_navi_home"
|
||||
android:text="@string/navi_home"
|
||||
android:textColor="@color/white"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="@dimen/dp_72"
|
||||
android:background="#17D8D8D8"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
android:text="@string/navi_company"
|
||||
android:paddingLeft="@dimen/dp_75"
|
||||
|
||||
android:gravity="center_vertical"
|
||||
android:drawableLeft="@mipmap/icon_navi_company"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:textColor="@color/white"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/rl_navi_history"
|
||||
android:layout_width="600dp"
|
||||
android:layout_height="@dimen/dp_778"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
android:padding="@dimen/dp_40"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_navi_search"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_navi_history"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/history_search"
|
||||
android:textColor="@color/white_60"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_navi_history_clear"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_alignParentRight="true"
|
||||
android:text="@string/history_clear"
|
||||
android:textColor="@color/txt_blue"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/rv_navi_history"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/dp_60"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:visibility="gone"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:layout_width="600dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_navi_wash"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_navi_search"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:id="@+id/rv_navi_search"/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:visibility="gone"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:layout_width="600dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_navi_wash"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_navi_search"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:id="@+id/tv_navi_list_empty"/>
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_restrant"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_navi_home"
|
||||
app:layout_constraintLeft_toLeftOf="@id/ll_navi_home"
|
||||
android:text="@string/navi_restrant"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:id="@+id/tv_navi_restaurant"
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_gas"
|
||||
android:id="@+id/tv_navi_gas"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_navi_restaurant"
|
||||
app:layout_constraintLeft_toRightOf="@id/tv_navi_restaurant"
|
||||
android:text="@string/navi_gas"
|
||||
android:layout_marginLeft="@dimen/dp_32"
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_tolit"
|
||||
android:id="@+id/tv_navi_toilet"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_navi_restaurant"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_navi_restaurant"
|
||||
android:text="@string/navi_toilet"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_wash"
|
||||
android:id="@+id/tv_navi_wash"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_navi_toilet"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_navi_restaurant"
|
||||
android:text="@string/navi_park"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_park"
|
||||
android:id="@+id/tv_navi_park"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_navi_gas"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_navi_gas"
|
||||
android:text="@string/navi_wash"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:drawableTop="@mipmap/icon_navi_setting"
|
||||
android:id="@+id/tv_navi_setting"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_navi_park"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_navi_gas"
|
||||
android:text="@string/navi_setting"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
style="@style/txt_navi_style"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_180"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_position"
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:src="@mipmap/icon_navi_position"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_position"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_70"
|
||||
android:layout_marginLeft="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="25sp"
|
||||
app:layout_constraintLeft_toRightOf="@id/iv_position"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_position_des"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_42"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:ellipsize="marquee"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/white_60"
|
||||
android:textSize="@dimen/sp_30"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_position"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_position"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_2"
|
||||
android:layout_marginLeft="@dimen/dp_110"
|
||||
android:background="@color/white_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
Before Width: | Height: | Size: 703 B |
|
Before Width: | Height: | Size: 703 B |
|
Before Width: | Height: | Size: 1007 B |
|
Before Width: | Height: | Size: 712 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |