Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d221c9d5
authored
3 months ago
by
han xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
地图
parent
017a5e0d
dev_xx_250224_report
…
dev_xx_241116
dev_xx_250108_toast
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
180 additions
and
23 deletions
app/src/main/AndroidManifest.xml
app/src/main/res/xml/network_security_config.xml
locationComponent/src/main/java/com/dayu/location/base/LocationUtils.java
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderAdapter.java
orderCenter/src/main/java/com/dayu/order/ui/fragment/MultiOrderDetailFragment.java
app/src/main/AndroidManifest.xml
View file @
d221c9d5
...
@@ -82,10 +82,10 @@
...
@@ -82,10 +82,10 @@
android:resizeableActivity=
"false"
android:resizeableActivity=
"false"
tools:ignore=
"GoogleAppIndexingWarning"
tools:ignore=
"GoogleAppIndexingWarning"
android:requestLegacyExternalStorage=
"true"
android:requestLegacyExternalStorage=
"true"
android:networkSecurityConfig=
"@xml/network_security_config"
tools:replace=
"android:label,icon,theme,allowBackup"
>
tools:replace=
"android:label,icon,theme,allowBackup"
>
<provider
<provider
android:name=
"androidx.core.content.FileProvider"
android:name=
"androidx.core.content.FileProvider"
android:authorities=
"com.dayu.bigfish.fileProvider"
android:authorities=
"com.dayu.bigfish.fileProvider"
...
@@ -224,12 +224,15 @@
...
@@ -224,12 +224,15 @@
<uses-permission
android:name=
"com.huawei.android.launcher.permission.CHANGE_BADGE"
/>
<uses-permission
android:name=
"com.huawei.android.launcher.permission.CHANGE_BADGE"
/>
<uses-permission
android:name=
"android.permission.QUERY_ALL_PACKAGES"
tools:ignore=
"QueryAllPackagesPermission"
/>
<queries>
<queries>
<package
android:name=
"com.tencent.mm"
/>
<package
android:name=
"com.tencent.mm"
/>
<package
android:name=
"com.tencent.mobileqq"
/>
<package
android:name=
"com.tencent.mobileqq"
/>
<package
android:name=
"com.sina.weibo"
/>
<package
android:name=
"com.sina.weibo"
/>
<package
android:name=
"com.tencent.wework"
/>
<package
android:name=
"com.tencent.wework"
/>
</queries>
</queries>
</manifest>
</manifest>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app/src/main/res/xml/network_security_config.xml
0 → 100644
View file @
d221c9d5
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config
cleartextTrafficPermitted=
"true"
>
<trust-anchors>
<certificates
src=
"system"
/>
<certificates
src=
"user"
/>
</trust-anchors>
</base-config>
</network-security-config>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
locationComponent/src/main/java/com/dayu/location/base/LocationUtils.java
View file @
d221c9d5
...
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
...
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import
android.content.ActivityNotFoundException
;
import
android.content.ActivityNotFoundException
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.ApplicationInfo
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageManager
;
import
android.content.pm.PackageManager
;
import
android.location.Address
;
import
android.location.Address
;
...
@@ -162,21 +163,38 @@ public class LocationUtils {
...
@@ -162,21 +163,38 @@ public class LocationUtils {
private
static
boolean
isInstallPackage
(
Context
mContext
)
{
private
static
boolean
isInstallPackage
(
Context
mContext
)
{
PackageManager
packageManager
=
mContext
.
getPackageManager
();
PackageManager
packageManager
=
mContext
.
getPackageManager
();
List
<
PackageInfo
>
installedPackages
=
packageManager
.
getInstalledPackages
(
0
);
List
<
PackageInfo
>
installedPackages
=
packageManager
.
getInstalledPackages
(
0
);
return
true
;
boolean
isAMapInstalled
=
false
;
// boolean isAMapInstalled = false;
for
(
PackageInfo
packageInfo
:
installedPackages
)
{
// for (PackageInfo packageInfo : installedPackages) {
String
packageName
=
packageInfo
.
packageName
;
// String packageName = packageInfo.packageName;
if
(
packageName
.
equals
(
"com.autonavi.minimap"
))
{
// Log.d("isAMapInstalled", "isInstallPackage: " + packageName);
isAMapInstalled
=
true
;
// if (packageName.equals("com.autonavi.minimap")) {
break
;
// isAMapInstalled = true;
}
// break;
}
// }
// }
return
isAMapInstalled
;
//
// PackageManager pm = mContext.getPackageManager();
// List<ApplicationInfo> apps = pm.getInstalledApplications(0);
//
// for (ApplicationInfo app : apps) {
// String packageName = app.packageName;
// String appName = pm.getApplicationLabel(app).toString();
// // 打印或处理其他信息
// Log.i("InstalledApp", "Package Name: " + packageName + ", App Name: " + appName);
// }
//// return isAMapInstalled;
//
// String packageName = "com.autonavi.minimap";
//
// try {
// try {
// // 检查设备是否已安装高德地图应用
//
// packageManager.getPackageInfo("com.autonavi.minimap", 0);
// PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo(packageName, 0);
// return true;
// // 如果获取到包信息,返回true,说明应用已安装
// return packageInfo != null;
//
//// return true;
// } catch (PackageManager.NameNotFoundException e) {
// } catch (PackageManager.NameNotFoundException e) {
// e.printStackTrace();
// e.printStackTrace();
// return false;
// return false;
...
@@ -188,8 +206,52 @@ public class LocationUtils {
...
@@ -188,8 +206,52 @@ public class LocationUtils {
Intent
intent
=
new
Intent
(
"android.intent.action.VIEW"
Intent
intent
=
new
Intent
(
"android.intent.action.VIEW"
,
android
.
net
.
Uri
.
parse
(
"androidamap://poi?sourceApplication=softname&keywords="
+
address
));
,
android
.
net
.
Uri
.
parse
(
"androidamap://poi?sourceApplication=softname&keywords="
+
address
));
intent
.
setPackage
(
"com.autonavi.minimap"
);
intent
.
setPackage
(
"com.autonavi.minimap"
);
try
{
mContext
.
startActivity
(
intent
);
}
catch
(
ActivityNotFoundException
e
)
{
e
.
printStackTrace
();
listener
.
openMarket
();
}
}
else
{
listener
.
openMarket
();
}
}
public
static
void
openMap_gaode
(
Context
mContext
,
String
address
,
OpenMarketListener
listener
)
{
if
(
isInstallPackage
(
mContext
))
{
Intent
intent
=
new
Intent
(
"android.intent.action.VIEW"
,
android
.
net
.
Uri
.
parse
(
"androidamap://poi?sourceApplication=softname&keywords="
+
address
));
intent
.
setPackage
(
"com.autonavi.minimap"
);
intent
.
addCategory
(
"android.intent.category.DEFAULT"
);
intent
.
addCategory
(
"android.intent.category.DEFAULT"
);
try
{
mContext
.
startActivity
(
intent
);
mContext
.
startActivity
(
intent
);
}
catch
(
ActivityNotFoundException
e
)
{
e
.
printStackTrace
();
listener
.
openMarket
();
}
}
else
{
listener
.
openMarket
();
}
}
public
static
void
openMap_baidu
(
Context
mContext
,
String
address
,
OpenMarketListener
listener
)
{
if
(
isInstallPackage
(
mContext
))
{
Intent
intent
=
new
Intent
();
intent
.
setData
(
Uri
.
parse
(
"baidumap://map/direction?destination="
+
address
+
"&mode=driving&sy=0&index=0&target=1"
));
intent
.
setPackage
(
"com.baidu.BaiduMap"
);
try
{
mContext
.
startActivity
(
intent
);
}
catch
(
ActivityNotFoundException
e
)
{
e
.
printStackTrace
();
listener
.
openMarket
();
}
}
else
{
}
else
{
listener
.
openMarket
();
listener
.
openMarket
();
}
}
...
@@ -204,6 +266,24 @@ public class LocationUtils {
...
@@ -204,6 +266,24 @@ public class LocationUtils {
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
public
static
void
goToMarket_gaode
(
Context
context
)
{
Uri
uri
=
Uri
.
parse
(
"market://details?id="
+
"com.autonavi.minimap"
);
Intent
goToMarket
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri
);
try
{
context
.
startActivity
(
goToMarket
);
}
catch
(
ActivityNotFoundException
e
)
{
e
.
printStackTrace
();
}
}
public
static
void
goToMarket_baidu
(
Context
context
)
{
Uri
uri
=
Uri
.
parse
(
"market://details?id="
+
"com.baidu.BaiduMap"
);
Intent
goToMarket
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri
);
try
{
context
.
startActivity
(
goToMarket
);
}
catch
(
ActivityNotFoundException
e
)
{
e
.
printStackTrace
();
}
}
public
interface
OpenMarketListener
{
public
interface
OpenMarketListener
{
void
openMarket
();
void
openMarket
();
...
...
This diff is collapsed.
Click to expand it.
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderAdapter.java
View file @
d221c9d5
...
@@ -8,6 +8,7 @@ import android.Manifest;
...
@@ -8,6 +8,7 @@ import android.Manifest;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.BroadcastReceiver
;
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.IntentFilter
;
import
android.content.IntentFilter
;
import
android.graphics.Color
;
import
android.graphics.Color
;
...
@@ -20,6 +21,9 @@ import android.util.Log;
...
@@ -20,6 +21,9 @@ import android.util.Log;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AlertDialog
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.bigkoo.pickerview.builder.OptionsPickerBuilder
;
import
com.bigkoo.pickerview.builder.OptionsPickerBuilder
;
...
@@ -119,7 +123,8 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
...
@@ -119,7 +123,8 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder
.
orderLineOne
.
setVisibility
(
View
.
VISIBLE
);
holder
.
orderLineOne
.
setVisibility
(
View
.
VISIBLE
);
holder
.
orderLineTwo
.
setVisibility
(
View
.
VISIBLE
);
holder
.
orderLineTwo
.
setVisibility
(
View
.
VISIBLE
);
holder
.
tvItemProcess
.
setVisibility
(
View
.
VISIBLE
);
holder
.
tvItemProcess
.
setVisibility
(
View
.
VISIBLE
);
holder
.
navigation
.
setOnClickListener
(
v
->
LocationUtils
.
openMap
(
mContext
,
address
,
this
::
showOpenMarketDialog
));
// holder.navigation.setOnClickListener(v -> LocationUtils.openMap(mContext, address, this::showOpenMarketDialog));
holder
.
navigation
.
setOnClickListener
(
v
->
this
.
showOpenMarketDialog_select
(
address
));
holder
.
tvOrderTime
.
setText
(
R
.
string
.
tv_home_tab_one_subscribe_time
);
holder
.
tvOrderTime
.
setText
(
R
.
string
.
tv_home_tab_one_subscribe_time
);
final
int
id
=
item
.
getId
();
final
int
id
=
item
.
getId
();
...
@@ -932,6 +937,36 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
...
@@ -932,6 +937,36 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
customDialog
.
show
();
customDialog
.
show
();
}
}
private
void
showOpenMarketDialog_select
(
String
address
)
{
final
String
[]
items
={
"高德地图"
,
"百度地图"
};
AlertDialog
dialog
=
new
AlertDialog
.
Builder
(
getContext
()).
setItems
(
items
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
// Toast.makeText(getContext(), items[which], Toast.LENGTH_SHORT).show();
//复杂的业务逻辑
// Mytask( items[which]);
switch
(
which
){
case
0
:{
LocationUtils
.
openMap_gaode
(
mContext
,
address
,
OrderAdapter
.
this
::
showOpenMarketDialog
);
break
;
}
case
1
:{
LocationUtils
.
openMap_baidu
(
mContext
,
address
,
OrderAdapter
.
this
::
showOpenMarketDialog
);
break
;
}
default
:
}
}
}).
create
();
dialog
.
setTitle
(
"选择打开地图:"
);
dialog
.
show
();
}
private
void
showOpenMarketDialog
()
{
private
void
showOpenMarketDialog
()
{
CustomDialog
customDialog
=
new
CustomDialog
(
mContext
,
R
.
style
.
CustomDialog
,
UIUtils
.
getString
(
R
.
string
.
download_gaode_notice
)
CustomDialog
customDialog
=
new
CustomDialog
(
mContext
,
R
.
style
.
CustomDialog
,
UIUtils
.
getString
(
R
.
string
.
download_gaode_notice
)
,
(
dialog
,
confirm
)
->
{
,
(
dialog
,
confirm
)
->
{
...
@@ -943,6 +978,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
...
@@ -943,6 +978,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
.
setPositiveButton
(
UIUtils
.
getString
(
R
.
string
.
go_download
))
.
setPositiveButton
(
UIUtils
.
getString
(
R
.
string
.
go_download
))
.
setNegativeButton
(
UIUtils
.
getString
(
R
.
string
.
cancle
));
.
setNegativeButton
(
UIUtils
.
getString
(
R
.
string
.
cancle
));
customDialog
.
show
();
customDialog
.
show
();
}
}
private
void
showMoblieDialog
(
String
mobile
,
String
tel
,
int
id
)
{
private
void
showMoblieDialog
(
String
mobile
,
String
tel
,
int
id
)
{
...
...
This diff is collapsed.
Click to expand it.
orderCenter/src/main/java/com/dayu/order/ui/fragment/MultiOrderDetailFragment.java
View file @
d221c9d5
package
com
.
dayu
.
order
.
ui
.
fragment
;
package
com
.
dayu
.
order
.
ui
.
fragment
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.android.arouter.launcher.ARouter
;
...
@@ -564,16 +567,40 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
...
@@ -564,16 +567,40 @@ public class MultiOrderDetailFragment extends BaseFragment<SImplePresenter, Frag
}
}
private
void
showOpenMarketDialog
()
{
private
void
showOpenMarketDialog
()
{
CustomDialog
customDialog
=
new
CustomDialog
(
mActivity
,
R
.
style
.
CustomDialog
,
UIUtils
.
getString
(
R
.
string
.
download_gaode_notice
)
// CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, UIUtils.getString(R.string.download_gaode_notice)
,
(
dialog
,
confirm
)
->
{
// , (dialog, confirm) -> {
if
(
confirm
)
{
// if (confirm) {
LocationUtils
.
goToMarket
(
mActivity
);
// LocationUtils.goToMarket(mActivity);
// }
// });
// customDialog.setTitle(UIUtils.getString(R.string.reminder))
// .setPositiveButton(UIUtils.getString(R.string.go_download))
// .setNegativeButton(UIUtils.getString(R.string.cancle));
// customDialog.show();
// 选择项的文字
// String[] items = {"选项1", "选项2", "选项3", "选项4"};
// 记录选择状态的布尔数组
// boolean[] checkedItems = new boolean[items.length];
// 创建AlertDialog.Builder
// AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
final
String
[]
items
={
"打开高德地图"
,
"打开百度地图"
};
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
getContext
());
builder
.
setSingleChoiceItems
(
items
,
0
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
Toast
.
makeText
(
getContext
(),
items
[
which
],
Toast
.
LENGTH_SHORT
).
show
();
dialog
.
dismiss
();
}
}
});
});
customDialog
.
setTitle
(
UIUtils
.
getString
(
R
.
string
.
reminder
))
AlertDialog
dialog
=
builder
.
create
();
.
setPositiveButton
(
UIUtils
.
getString
(
R
.
string
.
go_download
))
dialog
.
show
();
.
setNegativeButton
(
UIUtils
.
getString
(
R
.
string
.
cancle
));
customDialog
.
show
();
}
}
public
String
getStaus
(
int
staus
)
{
public
String
getStaus
(
int
staus
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment