完成重新

This commit is contained in:
itgaojian163 2022-12-17 12:47:58 +08:00
parent 6d1a3d5ad9
commit 4bf1a498be
81 changed files with 1592 additions and 901 deletions

1
.idea/.name Normal file
View File

@ -0,0 +1 @@
xzdisplay

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="10HC690BJT0005G" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-12-17T04:39:44.294612Z" />
</component>
</project>

View File

@ -0,0 +1,2 @@
# 2022年12月17日
> 1.重写项目

View File

@ -0,0 +1,20 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.tenlionsoft.xzdisplay",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 27,
"versionName": "1.2.7",
"outputFile": "app-release.apk"
}
],
"elementType": "File"
}

View File

@ -2,15 +2,27 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_HISTORY_BOOKMARKS" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application
android:name=".BaseMyApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@drawable/app_logo"
android:supportsRtl="true"
android:theme="@style/Theme.Xzdisplay"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"

View File

@ -0,0 +1,13 @@
package com.tenlionsoft.xzdisplay;
import android.app.Application;
import com.hjq.toast.ToastUtils;
public class BaseMyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ToastUtils.init(this);
}
}

View File

@ -6,16 +6,29 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Process;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.webkit.ConsoleMessage;
import android.webkit.JavascriptInterface;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import androidx.core.content.FileProvider;
import com.google.gson.Gson;
import com.hjq.toast.ToastUtils;
import com.lztek.toolkit.Lztek;
import com.tenlionsoft.baselib.constant.PathConfig;
@ -31,11 +44,18 @@ import com.tenlionsoft.baselib.utils.ExceptionHandler;
import com.tenlionsoft.baselib.utils.LogUtils;
import com.tenlionsoft.baselib.utils.ProiderUtil;
import com.tenlionsoft.baselib.utils.SPUtils;
import com.tenlionsoft.xzdisplay.beans.ArticleBean;
import com.tenlionsoft.xzdisplay.beans.PlaceDetailBean;
import com.tenlionsoft.xzdisplay.beans.PlaceListBean;
import com.tenlionsoft.xzdisplay.beans.ShowDataBean;
import com.tenlionsoft.xzdisplay.beans.WebBottomTabDataBean;
import com.tenlionsoft.xzdisplay.net.ApiDisplay;
import com.tenlionsoft.xzdisplay.widget.CustomWebView;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.List;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
@ -96,7 +116,8 @@ public class MainActivity extends Activity {
private void checkAppVersion() {
RetrofitManager.getInstance()
.create(BaseApiService.class)
.doCheckAppVersion(BaseUrlApi.APP_VERSION_ID)
.doCheckAppVersion("http://www.xzszwhy.cn/usercenter/app/appversion/getappversionnumber/e2f64ae0" +
"-69a5-454c-8471-483291a7bfb1")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<VersionBean>() {
@ -126,6 +147,7 @@ public class MainActivity extends Activity {
@Override
public void onError(@NonNull Throwable e) {
e.printStackTrace();
ExceptionHandler.handleException(e);
}
@ -151,11 +173,13 @@ public class MainActivity extends Activity {
MainActivity mainActivity = MainActivity.this;
mainActivity.hideSoftKeyboard(mainActivity.mPwdDialog.mEtPwd);
String trim = MainActivity.this.mPwdDialog.mEtPwd.getText().toString().trim();
LogUtils.e("" + trim);
if (TextUtils.isEmpty(trim)) {
ToastUtils.setGravity(17, 5, -120);
ToastUtils.show((CharSequence) "请输入密码");
} else if (BaseUrlApi.SETTING_PWD.equals(trim)) {
MainActivity.this.mPwdDialog.dismiss();
LogUtils.e("密码正确");
MainActivity.this.showSettingDialog();
} else {
ToastUtils.setGravity(17, 5, -120);
@ -231,13 +255,91 @@ public class MainActivity extends Activity {
* 刷新webview数据
*/
private void setWebViewData() {
WebSettings settings = this.mWvWeb.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setAllowFileAccess(true);
settings.setSupportMultipleWindows(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setSupportZoom(false);
settings.setBuiltInZoomControls(true);
settings.setDisplayZoomControls(false);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
if (Build.VERSION.SDK_INT >= 21) {
settings.setMixedContentMode(0);
}
if (Build.VERSION.SDK_INT >= 17) {
settings.setMediaPlaybackRequiresUserGesture(false);
}
this.mWvWeb.addJavascriptInterface(new AndroidMethodInterface(), "AppInterface");
String str = "file:////android_asset/html/xz_screen/index.html";
if (TextUtils.isEmpty(this.mAppType)) {
if ("SD卡".equals(this.mReadType)) {
str = "file:///" + getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "xz_screen" + File.separator + "index.html";
}
} else if ("壁挂机".equals(this.mAppType)) {
if ("SD卡".equals(this.mReadType)) {
str = "file:///" + getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "xz_screen49" + File.separator + "index.html";
} else {
str = "file:////android_asset/html/xz_screen49/index.html";
}
} else if ("SD卡".equals(this.mReadType)) {
str = "file:///" + getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator + "xz_screen" + File.separator + "index.html";
}
this.mWvWeb.loadUrl(str);
this.mWvWeb.setWebChromeClient(new WebChromeClient() {
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
LogUtils.e(consoleMessage.message());
return super.onConsoleMessage(consoleMessage);
}
public boolean onJsAlert(WebView webView, String str, String str2, JsResult jsResult) {
return super.onJsAlert(webView, str, str2, jsResult);
}
});
this.mWvWeb.setWebViewClient(new WebViewClient() {
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
sslErrorHandler.proceed();
}
public void onPageFinished(WebView webView, String str) {
super.onPageFinished(webView, str);
}
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
webView.loadUrl(str);
return true;
}
public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest,
WebResourceError webResourceError) {
super.onReceivedError(webView, webResourceRequest, webResourceError);
if (Build.VERSION.SDK_INT >= 23) {
LogUtils.e(webResourceError.getErrorCode() + webResourceError.getDescription().toString());
}
}
public void onReceivedError(WebView webView, int i, String str, String str2) {
super.onReceivedError(webView, i, str, str2);
LogUtils.e(i);
}
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
if (Build.VERSION.SDK_INT < 21) {
return false;
}
webView.loadUrl(webResourceRequest.getUrl().toString());
return true;
}
});
}
private void startDownloadApk() {
ToastUtils.show("开始下载");
Intent intent = new Intent((Context) this, DownloadService.class);
intent.putExtra("downloadUrl", mBaseUrl + "/usercenter/app/appversion/downloadapp/e2f64ae0-69a5-454c-8471" +
intent.putExtra("downloadUrl", "http://192.168.1.100:7001/usercenter/app/appversion/downloadapp/e2f64ae0-69a5-454c-8471" +
"-483291a7bfb1");
startService(intent);
}
@ -266,6 +368,7 @@ public class MainActivity extends Activity {
}
public void showSettingDialog() {
LogUtils.e("显示设置");
BottomSettingView build = new BottomSettingView.DialogBuilder(this).build();
this.mSettingDialog = build;
build.addOnChoseListener(new BottomSettingView.OnChoseListener() {
@ -330,5 +433,301 @@ public class MainActivity extends Activity {
}
}
/* access modifiers changed from: private */
public void getListByDeviceCode() {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getShowDataList(this.mBaseUrl + "/app/showdata/getshowdatabydevicecoderelease/RKZ01H14")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ShowDataBean>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(ShowDataBean showDataBean) {
LogUtils.e(new Gson().toJson((Object) showDataBean));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveList", "");
}
});
}
/* access modifiers changed from: private */
public void getDataByDeviceCode() {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getShowDataByDeviceCode(this.mBaseUrl + "/app/articlecategory/listarticlecategoryrelease/" + this.mDeviceCode)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<WebBottomTabDataBean>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(WebBottomTabDataBean webBottomTabData) {
MainActivity.this.javaCallJs("saveBottomMenu", new Gson().toJson(webBottomTabData));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveBottomMenu", "");
}
});
}
/* access modifiers changed from: private */
public void getPlaceList(String str) {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getPlaceList(this.mBaseUrl + "/app/showvenue/listshowvenuerelease/" + str)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<PlaceListBean>>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(List<PlaceListBean> list) {
MainActivity.this.javaCallJs("saveVenueGuideId", new Gson().toJson(list));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveVenueGuideId", "");
}
});
}
/* access modifiers changed from: private */
public void getPlaceDetailById(String str) {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getPlaceDetailById(this.mBaseUrl + "/app/showvenue/getshowvenuebyidrelease/" + str)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PlaceDetailBean>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(PlaceDetailBean placeDetailBean) {
MainActivity.this.javaCallJs("saveVenueGuide", new Gson().toJson(placeDetailBean));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveVenueGuide", "");
}
});
}
private void getPlaceDetailByCode(String str) {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getPlaceDetailByDeviceCode(str)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<PlaceDetailBean>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(PlaceDetailBean placeDetailBean) {
MainActivity.this.javaCallJs("setDetailData", new Gson().toJson(placeDetailBean));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("setDetailData", "");
}
});
}
/* access modifiers changed from: private */
public void javaCallJs(String str, String str2) {
CustomWebView customWebView = this.mWvWeb;
customWebView.loadUrl("javascript:" + str + "('" + str2 + "')");
}
public final class AndroidMethodInterface {
public AndroidMethodInterface() {
}
@JavascriptInterface
public void getMenu() {
MainActivity mainActivity = MainActivity.this;
mainActivity.runOnUiThread(MainActivity.this::getDataByDeviceCode);
}
@JavascriptInterface
public void getVenueGuideId() {
MainActivity.this.runOnUiThread(() -> MainActivity.this.getPlaceList("0"));
}
@JavascriptInterface
public void showVenueId(String str) {
MainActivity.this.runOnUiThread(() -> MainActivity.this.getPlaceDetailById(str));
}
@JavascriptInterface
public void getLeader() {
MainActivity.this.runOnUiThread(MainActivity.this::getLeaderByDeviceId);
}
@JavascriptInterface
public void getPersonnel() {
MainActivity.this.runOnUiThread(MainActivity.this::getPersonnelByDeviceId);
}
@JavascriptInterface
public void getReward() {
MainActivity.this.runOnUiThread(MainActivity.this::getRewardByDeviceId);
}
@JavascriptInterface
public void getUnion() {
MainActivity.this.runOnUiThread(MainActivity.this::getUnionByDeviceId);
}
@JavascriptInterface
public void getList() {
MainActivity.this.runOnUiThread(MainActivity.this::getListByDeviceCode);
}
@JavascriptInterface
public void showPwdDialog() {
MainActivity.this.runOnUiThread(MainActivity.this::showSettingPwdDialog);
}
@JavascriptInterface
public String getDeviceCode() {
return MainActivity.this.mDeviceCode;
}
@JavascriptInterface
public String getBaseUrl() {
return MainActivity.this.mBaseUrl;
}
@JavascriptInterface
public void showBaseUrl(String str) {
MainActivity.this.runOnUiThread(() -> MainActivity.this.showUrlAlert(str));
}
}
/* access modifiers changed from: private */
public void showUrlAlert(String str) {
ToastUtils.show((CharSequence) str);
}
/* access modifiers changed from: private */
public void getLeaderByDeviceId() {
RetrofitManager.getInstance().create(ApiDisplay.class)
.getShowArticleList(this.mBaseUrl + "/app/showarticlecontent/articlecontentlistrelease/" + this.mDeviceCode + "/ed5baf4f-d165-425f-af1e-4a1cb0ad015b")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<ArticleBean>>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(List<ArticleBean> list) {
MainActivity.this.javaCallJs("saveLeader", new Gson().toJson(list));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveLeader", "");
}
});
}
/* access modifiers changed from: private */
public void getPersonnelByDeviceId() {
RetrofitManager.getInstance()
.create(ApiDisplay.class)
.getShowArticleList(this.mBaseUrl + "/app/showarticlecontent/articlecontentlistrelease/" + this.mDeviceCode + "/0054e6c4-2d65-4a20-a826-f85e634ee08f")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<ArticleBean>>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(List<ArticleBean> list) {
MainActivity.this.javaCallJs("savePersonnel", new Gson().toJson((Object) list));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("savePersonnel", "");
}
});
}
/* access modifiers changed from: private */
public void getRewardByDeviceId() {
RetrofitManager.getInstance().create(ApiDisplay.class)
.getShowArticleList(this.mBaseUrl + "/app/showarticlecontent/articlecontentlistrelease/" + this.mDeviceCode + "/5f9e7545-42e9-4b48-b17f-b175bc8eba64")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<ArticleBean>>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(List<ArticleBean> list) {
MainActivity.this.javaCallJs("saveReward", new Gson().toJson((Object) list));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveReward", "");
}
});
}
/* access modifiers changed from: private */
public void getUnionByDeviceId() {
RetrofitManager.getInstance().create(ApiDisplay.class)
.getShowArticleList(this.mBaseUrl + "/app/showarticlecontent/articlecontentlistrelease/" + this.mDeviceCode + "/8548d750-6312-4ad0-a3cc-a66b231475cf")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<ArticleBean>>() {
public void onComplete() {
}
public void onSubscribe(Disposable disposable) {
}
public void onNext(List<ArticleBean> list) {
MainActivity.this.javaCallJs("saveUnion", new Gson().toJson((Object) list));
}
public void onError(Throwable th) {
MainActivity.this.javaCallJs("saveUnion", "");
}
});
}
}

View File

@ -0,0 +1,130 @@
package com.tenlionsoft.xzdisplay.beans;
public class ArticleBean {
private String articleCategoryId;
private String articleContentId;
private String author;
private String content;
private int isPublish;
private String link;
private String publishDate;
private String sort;
private String source;
private String subTitle;
private String summary;
private String summaryJoinByArticleCategoryId;
private String title;
private String titleJoinByArticleCategoryId;
public String getArticleCategoryId() {
return this.articleCategoryId;
}
public void setArticleCategoryId(String str) {
this.articleCategoryId = str;
}
public String getArticleContentId() {
return this.articleContentId;
}
public void setArticleContentId(String str) {
this.articleContentId = str;
}
public String getAuthor() {
return this.author;
}
public void setAuthor(String str) {
this.author = str;
}
public String getContent() {
return this.content;
}
public void setContent(String str) {
this.content = str;
}
public int getIsPublish() {
return this.isPublish;
}
public void setIsPublish(int i) {
this.isPublish = i;
}
public String getLink() {
return this.link;
}
public void setLink(String str) {
this.link = str;
}
public String getPublishDate() {
return this.publishDate;
}
public void setPublishDate(String str) {
this.publishDate = str;
}
public String getSort() {
return this.sort;
}
public void setSort(String str) {
this.sort = str;
}
public String getSource() {
return this.source;
}
public void setSource(String str) {
this.source = str;
}
public String getSubTitle() {
return this.subTitle;
}
public void setSubTitle(String str) {
this.subTitle = str;
}
public String getSummary() {
return this.summary;
}
public void setSummary(String str) {
this.summary = str;
}
public String getSummaryJoinByArticleCategoryId() {
return this.summaryJoinByArticleCategoryId;
}
public void setSummaryJoinByArticleCategoryId(String str) {
this.summaryJoinByArticleCategoryId = str;
}
public String getTitle() {
return this.title;
}
public void setTitle(String str) {
this.title = str;
}
public String getTitleJoinByArticleCategoryId() {
return this.titleJoinByArticleCategoryId;
}
public void setTitleJoinByArticleCategoryId(String str) {
this.titleJoinByArticleCategoryId = str;
}
}

View File

@ -0,0 +1,130 @@
package com.tenlionsoft.xzdisplay.beans;
public class PlaceDetailBean {
private String parentId;
private String parentName;
private String showVenueId;
private String venueAddress;
private String venueCode;
private String venueDescription;
private String venueLatitude;
private String venueLongitude;
private String venueName;
private int venueOrder;
private String venuePhoto;
private String venueSwitch;
private String venueType;
private String venueUserId;
public String getParentId() {
return this.parentId;
}
public void setParentId(String str) {
this.parentId = str;
}
public String getParentName() {
return this.parentName;
}
public void setParentName(String str) {
this.parentName = str;
}
public String getShowVenueId() {
return this.showVenueId;
}
public void setShowVenueId(String str) {
this.showVenueId = str;
}
public String getVenueAddress() {
return this.venueAddress;
}
public void setVenueAddress(String str) {
this.venueAddress = str;
}
public String getVenueCode() {
return this.venueCode;
}
public void setVenueCode(String str) {
this.venueCode = str;
}
public String getVenueDescription() {
return this.venueDescription;
}
public void setVenueDescription(String str) {
this.venueDescription = str;
}
public String getVenueLatitude() {
return this.venueLatitude;
}
public void setVenueLatitude(String str) {
this.venueLatitude = str;
}
public String getVenueLongitude() {
return this.venueLongitude;
}
public void setVenueLongitude(String str) {
this.venueLongitude = str;
}
public String getVenueName() {
return this.venueName;
}
public void setVenueName(String str) {
this.venueName = str;
}
public int getVenueOrder() {
return this.venueOrder;
}
public void setVenueOrder(int i) {
this.venueOrder = i;
}
public String getVenuePhoto() {
return this.venuePhoto;
}
public void setVenuePhoto(String str) {
this.venuePhoto = str;
}
public String getVenueSwitch() {
return this.venueSwitch;
}
public void setVenueSwitch(String str) {
this.venueSwitch = str;
}
public String getVenueType() {
return this.venueType;
}
public void setVenueType(String str) {
this.venueType = str;
}
public String getVenueUserId() {
return this.venueUserId;
}
public void setVenueUserId(String str) {
this.venueUserId = str;
}
}

View File

@ -0,0 +1,148 @@
package com.tenlionsoft.xzdisplay.beans;
public class PlaceListBean {
private String parentId;
private String parentName;
private String showVenueId;
private String venueAddress;
private String venueCode;
private String venueDescription;
private String venueEmail;
private String venueLatitude;
private String venueLongitude;
private String venueName;
private int venueOrder;
private String venuePhoto;
private String venueSwitch;
private String venueTel;
private String venueType;
private String venueUserId;
public String getParentId() {
return this.parentId;
}
public void setParentId(String str) {
this.parentId = str;
}
public String getParentName() {
return this.parentName;
}
public void setParentName(String str) {
this.parentName = str;
}
public String getShowVenueId() {
return this.showVenueId;
}
public void setShowVenueId(String str) {
this.showVenueId = str;
}
public String getVenueAddress() {
return this.venueAddress;
}
public void setVenueAddress(String str) {
this.venueAddress = str;
}
public String getVenueCode() {
return this.venueCode;
}
public void setVenueCode(String str) {
this.venueCode = str;
}
public String getVenueDescription() {
return this.venueDescription;
}
public void setVenueDescription(String str) {
this.venueDescription = str;
}
public String getVenueEmail() {
return this.venueEmail;
}
public void setVenueEmail(String str) {
this.venueEmail = str;
}
public String getVenueLatitude() {
return this.venueLatitude;
}
public void setVenueLatitude(String str) {
this.venueLatitude = str;
}
public String getVenueLongitude() {
return this.venueLongitude;
}
public void setVenueLongitude(String str) {
this.venueLongitude = str;
}
public String getVenueName() {
return this.venueName;
}
public void setVenueName(String str) {
this.venueName = str;
}
public int getVenueOrder() {
return this.venueOrder;
}
public void setVenueOrder(int i) {
this.venueOrder = i;
}
public String getVenuePhoto() {
return this.venuePhoto;
}
public void setVenuePhoto(String str) {
this.venuePhoto = str;
}
public String getVenueSwitch() {
return this.venueSwitch;
}
public void setVenueSwitch(String str) {
this.venueSwitch = str;
}
public String getVenueTel() {
return this.venueTel;
}
public void setVenueTel(String str) {
this.venueTel = str;
}
public String getVenueType() {
return this.venueType;
}
public void setVenueType(String str) {
this.venueType = str;
}
public String getVenueUserId() {
return this.venueUserId;
}
public void setVenueUserId(String str) {
this.venueUserId = str;
}
}

View File

@ -0,0 +1,189 @@
package com.tenlionsoft.xzdisplay.beans;
import java.util.List;
public class ShowDataBean {
private String dataCreateTime;
private int dataItemCount;
private String dataPublishSwitch;
private int dataRotation;
private String dataTitle;
private String dataType;
private String deviceId;
private List<FileListBean> fileList;
private String gmtCreate;
private String gmtModified;
private String showDataId;
private String typesettingCode;
private String typesettingId;
private String typesettingName;
public String getDataCreateTime() {
return this.dataCreateTime;
}
public void setDataCreateTime(String str) {
this.dataCreateTime = str;
}
public int getDataItemCount() {
return this.dataItemCount;
}
public void setDataItemCount(int i) {
this.dataItemCount = i;
}
public String getDataPublishSwitch() {
return this.dataPublishSwitch;
}
public void setDataPublishSwitch(String str) {
this.dataPublishSwitch = str;
}
public int getDataRotation() {
return this.dataRotation;
}
public void setDataRotation(int i) {
this.dataRotation = i;
}
public String getDataTitle() {
return this.dataTitle;
}
public void setDataTitle(String str) {
this.dataTitle = str;
}
public String getDataType() {
return this.dataType;
}
public void setDataType(String str) {
this.dataType = str;
}
public String getDeviceId() {
return this.deviceId;
}
public void setDeviceId(String str) {
this.deviceId = str;
}
public String getGmtCreate() {
return this.gmtCreate;
}
public void setGmtCreate(String str) {
this.gmtCreate = str;
}
public String getGmtModified() {
return this.gmtModified;
}
public void setGmtModified(String str) {
this.gmtModified = str;
}
public String getShowDataId() {
return this.showDataId;
}
public void setShowDataId(String str) {
this.showDataId = str;
}
public String getTypesettingCode() {
return this.typesettingCode;
}
public void setTypesettingCode(String str) {
this.typesettingCode = str;
}
public String getTypesettingId() {
return this.typesettingId;
}
public void setTypesettingId(String str) {
this.typesettingId = str;
}
public String getTypesettingName() {
return this.typesettingName;
}
public void setTypesettingName(String str) {
this.typesettingName = str;
}
public List<FileListBean> getFileList() {
return this.fileList;
}
public void setFileList(List<FileListBean> list) {
this.fileList = list;
}
public static class FileListBean {
private String dataId;
private String dataItemContent;
private String dataItemFileId;
private String dataItemOrder;
private String dataItemPhotoId;
private String showDataItemId;
public String getDataId() {
return this.dataId;
}
public void setDataId(String str) {
this.dataId = str;
}
public String getDataItemContent() {
return this.dataItemContent;
}
public void setDataItemContent(String str) {
this.dataItemContent = str;
}
public String getDataItemFileId() {
return this.dataItemFileId;
}
public void setDataItemFileId(String str) {
this.dataItemFileId = str;
}
public String getDataItemOrder() {
return this.dataItemOrder;
}
public void setDataItemOrder(String str) {
this.dataItemOrder = str;
}
public String getDataItemPhotoId() {
return this.dataItemPhotoId;
}
public void setDataItemPhotoId(String str) {
this.dataItemPhotoId = str;
}
public String getShowDataItemId() {
return this.showDataItemId;
}
public void setShowDataItemId(String str) {
this.showDataItemId = str;
}
}
}

View File

@ -0,0 +1,180 @@
package com.tenlionsoft.xzdisplay.beans;
import java.util.List;
public class WebBottomTabDataBean {
private String dataCreateTime;
private int dataItemCount;
private String dataPublishSwitch;
private int dataRotation;
private String dataTitle;
private String dataType;
private String deviceId;
private List<FileListBean> fileList;
private String gmtCreate;
private String gmtModified;
private String showDataId;
private String typesettingCode;
private String typesettingId;
private String typesettingName;
public String getDataCreateTime() {
return this.dataCreateTime;
}
public void setDataCreateTime(String str) {
this.dataCreateTime = str;
}
public int getDataItemCount() {
return this.dataItemCount;
}
public void setDataItemCount(int i) {
this.dataItemCount = i;
}
public String getDataPublishSwitch() {
return this.dataPublishSwitch;
}
public void setDataPublishSwitch(String str) {
this.dataPublishSwitch = str;
}
public int getDataRotation() {
return this.dataRotation;
}
public void setDataRotation(int i) {
this.dataRotation = i;
}
public String getDataTitle() {
return this.dataTitle;
}
public void setDataTitle(String str) {
this.dataTitle = str;
}
public String getDataType() {
return this.dataType;
}
public void setDataType(String str) {
this.dataType = str;
}
public String getDeviceId() {
return this.deviceId;
}
public void setDeviceId(String str) {
this.deviceId = str;
}
public String getGmtCreate() {
return this.gmtCreate;
}
public void setGmtCreate(String str) {
this.gmtCreate = str;
}
public String getGmtModified() {
return this.gmtModified;
}
public void setGmtModified(String str) {
this.gmtModified = str;
}
public String getShowDataId() {
return this.showDataId;
}
public void setShowDataId(String str) {
this.showDataId = str;
}
public String getTypesettingCode() {
return this.typesettingCode;
}
public void setTypesettingCode(String str) {
this.typesettingCode = str;
}
public String getTypesettingId() {
return this.typesettingId;
}
public void setTypesettingId(String str) {
this.typesettingId = str;
}
public String getTypesettingName() {
return this.typesettingName;
}
public void setTypesettingName(String str) {
this.typesettingName = str;
}
public List<FileListBean> getFileList() {
return this.fileList;
}
public void setFileList(List<FileListBean> list) {
this.fileList = list;
}
public static class FileListBean {
private String dataId;
private String dataItemContent;
private String dataItemFileId;
private String dataItemOrder;
private String showDataItemId;
public String getDataId() {
return this.dataId;
}
public void setDataId(String str) {
this.dataId = str;
}
public String getDataItemContent() {
return this.dataItemContent;
}
public void setDataItemContent(String str) {
this.dataItemContent = str;
}
public String getDataItemFileId() {
return this.dataItemFileId;
}
public void setDataItemFileId(String str) {
this.dataItemFileId = str;
}
public String getDataItemOrder() {
return this.dataItemOrder;
}
public void setDataItemOrder(String str) {
this.dataItemOrder = str;
}
public String getShowDataItemId() {
return this.showDataItemId;
}
public void setShowDataItemId(String str) {
this.showDataItemId = str;
}
}
}

View File

@ -0,0 +1,41 @@
package com.tenlionsoft.xzdisplay.net;
import com.tenlionsoft.xzdisplay.beans.ArticleBean;
import com.tenlionsoft.xzdisplay.beans.PlaceDetailBean;
import com.tenlionsoft.xzdisplay.beans.PlaceListBean;
import com.tenlionsoft.xzdisplay.beans.ShowDataBean;
import com.tenlionsoft.xzdisplay.beans.WebBottomTabDataBean;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Path;
import retrofit2.http.Url;
public interface ApiDisplay {
@GET("app/showvenue/getshowvenuebydevicecoderelease/{deviceCode}")
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<PlaceDetailBean> getPlaceDetailByDeviceCode(@Path("deviceCode") String str);
@GET
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<PlaceDetailBean> getPlaceDetailById(@Url String str);
@GET
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<List<PlaceListBean>> getPlaceList(@Url String str);
@GET
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<List<ArticleBean>> getShowArticleList(@Url String str);
@GET
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<WebBottomTabDataBean> getShowDataByDeviceCode(@Url String str);
@GET
@Headers({"base_url_name:displaysystem", "Content-Type:application/json", "Accept:application/json"})
Observable<ShowDataBean> getShowDataList(@Url String str);
}

View File

@ -1,3 +1,3 @@
<resources>
<string name="app_name">xzdisplay</string>
<string name="app_name">公共文化展览系统</string>
</resources>

View File

@ -1,4 +1,4 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<resources>
<!-- Base application theme. -->
<style name="Theme.Xzdisplay" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
@ -11,6 +11,8 @@
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<item name="android:windowNoTitle">true</item>
<!-- Customize your theme here. -->
</style>
</resources>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -10,7 +10,6 @@ import com.hjq.toast.ToastUtils;
import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.tenlionsoft.baselib.constant.BroadcastConstant;
import com.tenlionsoft.baselib.core.beans.Member;
import com.tenlionsoft.baselib.core.listener.ScreenListener;
import com.tenlionsoft.baselib.core.widget.refresh.BezierCircleHeader;
import com.tenlionsoft.baselib.utils.LogUtils;
@ -18,6 +17,8 @@ import com.tenlionsoft.baselib.utils.LogUtils;
import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;
import java.lang.reflect.Member;
/**
* 作者: adam
* 日期: 2021/10/29 - 9:48 上午
@ -135,18 +136,6 @@ public class BaseAppContext extends MultiDexApplication {
this.otherUserId = otherUserId;
}
/**
* 临时缓存的member刷新选看状态用
*/
private Member member;
public Member getMember() {
return member;
}
public void setMember(Member member) {
this.member = member;
}
private double mLat;
private double mLng;

View File

@ -1,568 +0,0 @@
package com.tenlionsoft.baselib.core.beans;
import com.huawei.ecterminalsdk.base.TsdkAttendee;
import com.huawei.ecterminalsdk.base.TsdkAttendeeBaseInfo;
import com.huawei.ecterminalsdk.base.TsdkAttendeeStatusInfo;
import com.huawei.ecterminalsdk.base.TsdkConfParticipantStatus;
import com.huawei.ecterminalsdk.base.TsdkConfRole;
import com.tenlionsoft.baselib.constant.ConfConstant;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* This method is used to conf member info.
* 与会者信息
*/
public class Member implements Serializable {
// 与会者列表排序字段
private String sort;
/**
* SMC3.0 会议室必传字段
*/
private String tpSpeed;
/**
* SMC3.0 区分会议室和与会人
*/
private String attendeeType;
/**
* 与会者号码
*/
private String number;
/**
* 与会者标识
*/
private int userId;
/**
* 是否选看
*/
private boolean isWatching = false;
/**
* 组织名称
*/
private String organizationName;
/**
* 与会人用户绑定的终端
*/
private String uri;
/**
* 终端类型
*/
private String terminalType;
public String getTerminalType() {
return terminalType;
}
public void setTerminalType(String terminalType) {
this.terminalType = terminalType;
}
public String getOrganizationName() {
return organizationName;
}
public void setOrganizationName(String organizationName) {
this.organizationName = organizationName;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
private boolean isOpenCamera = true;
public String getAttendeeType() {
return attendeeType;
}
public void setAttendeeType(String attendeeType) {
this.attendeeType = attendeeType;
}
public String getTpSpeed() {
return tpSpeed;
}
public void setTpSpeed(String tpSpeed) {
this.tpSpeed = tpSpeed;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
/**
* 来电姓名
*/
private String displayName;
/**
* email
* 邮箱
*/
private String email;
/**
* email
* 邮箱
*/
private String mobile;
/**
* SMS
*/
private String sms;
/**
* 帐号
*/
private String accountId;
/**
* 与会者状态
*/
private ConfConstant.ParticipantStatus status;
/**
* 与会者角色
*/
private TsdkConfRole role;
/**
* 是否静音
*/
private boolean isMute;
/**
* 是否举手
*/
private boolean isHandUp;
/**
* 是否申请发言
*/
private boolean isReqTalk;
/**
* 是否已在数据会议中
*/
private boolean inDataConference;
/**
* 是否是主席
*/
private boolean isHost;
/**
* 是否主讲人
*/
private boolean isPresent;
/**
* 用户id
*/
private long dataUserId;
/**
* 与会者id
*/
private String participantId;
/**
* 是否是自己
*/
private boolean isSelf;
/**
* 是否自动邀请
*/
private boolean isAutoInvite;
/**
* 是否广播自己
*/
private boolean isBroadcastSelf;
/**
* 是否语音入会
*/
private boolean isAudio;
/**
* 摄像头列表
*/
private List<CameraEntity> cameraEntityList = new ArrayList<>();
/**
* 点名
*/
private boolean rollCall = false;
private int decodeSsrc;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public boolean isRollCall() {
return rollCall;
}
public void setRollCall(boolean rollCall) {
this.rollCall = rollCall;
}
public Member() {
}
public Member(String number, String accountId, TsdkConfRole role, String displayName) {
this.number = number;
this.accountId = accountId;
this.role = role;
this.displayName = displayName;
}
public boolean isWatching() {
return isWatching;
}
public void setWatching(boolean watching) {
isWatching = watching;
}
public Member(String number) {
this.number = number;
}
public boolean isReqTalk() {
return isReqTalk;
}
public void setReqTalk(boolean reqTalk) {
isReqTalk = reqTalk;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getDisplayName() {
if ((displayName == null) || (displayName.equals(""))) {
return number;
}
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSms() {
return sms;
}
public void setSms(String sms) {
this.sms = sms;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public boolean isMute() {
return isMute;
}
public void setMute(boolean mute) {
isMute = mute;
}
public boolean isAutoInvite() {
return isAutoInvite;
}
public void setAutoInvite(boolean autoInvite) {
isAutoInvite = autoInvite;
}
public boolean isBroadcastSelf() {
return isBroadcastSelf;
}
public void setBroadcastSelf(boolean broadcastSelf) {
isBroadcastSelf = broadcastSelf;
}
public TsdkConfRole getRole() {
return role;
}
public void setRole(TsdkConfRole role) {
this.role = role;
}
public void setIsAudio(boolean audio) {
isAudio = audio;
}
public boolean getIsAudio() {
return isAudio;
}
public boolean isHandUp() {
return isHandUp;
}
public void setHandUp(boolean handUp) {
isHandUp = handUp;
}
public ConfConstant.ParticipantStatus getStatus() {
return status;
}
public void setStatus(ConfConstant.ParticipantStatus status) {
this.status = status;
}
public boolean isSelf() {
return isSelf;
}
public void setSelf(boolean self) {
isSelf = self;
}
public List<CameraEntity> getCameraEntityList() {
return cameraEntityList;
}
public void setCameraEntityList(List<CameraEntity> cameraEntityList) {
this.cameraEntityList = cameraEntityList;
}
public void replaceCamera(CameraEntity cameraEntity) {
int index = cameraEntityList.indexOf(cameraEntity);
if (index == -1) {
cameraEntityList.add(cameraEntity);
} else {
cameraEntityList.set(index, cameraEntity);
}
}
public void updateCamera(long deviceID, int status) {
for (CameraEntity cameraEntity : cameraEntityList) {
if (cameraEntity.getDeviceID() == deviceID) {
cameraEntity.setCameraStatus(status);
return;
}
}
}
public CameraEntity getOpenedCamera() {
for (CameraEntity cameraEntity : cameraEntityList) {
if (cameraEntity.getCameraStatus() == CameraEntity.CAMERA_STATUS_OPENED) {
return cameraEntity;
}
}
return null;
}
public boolean isHost() {
return isHost;
}
public void setHost(boolean host) {
isHost = host;
}
public boolean isPresent() {
return isPresent;
}
public void setPresent(boolean present) {
this.isPresent = present;
}
public boolean isInDataConference() {
return inDataConference;
}
public void setInDataConference(boolean inDataConference) {
this.inDataConference = inDataConference;
}
public long getDataUserId() {
return dataUserId;
}
public void setDataUserId(long dataUserId) {
this.dataUserId = dataUserId;
}
public String getParticipantId() {
return participantId;
}
public void setParticipantId(String participantId) {
this.participantId = participantId;
}
public void update(TsdkAttendee attendeeInfo) {
TsdkAttendeeStatusInfo attendeeStatusInfo = attendeeInfo.getStatusInfo();
TsdkAttendeeBaseInfo attendeeBaseInfo = attendeeInfo.getBaseInfo();
setParticipantId(attendeeStatusInfo.getParticipantId());
setNumber(attendeeBaseInfo.getNumber());
setDisplayName(attendeeBaseInfo.getDisplayName());
setAccountId(attendeeBaseInfo.getAccountId());
setEmail(attendeeBaseInfo.getEmail());
setSms(attendeeBaseInfo.getSms());
setMute(attendeeStatusInfo.getIsMute() == 1);
setHandUp(attendeeStatusInfo.getIsHandup() == 1);
setReqTalk(attendeeStatusInfo.getIsReqTalk() == 1);
TsdkConfRole role = (TsdkConfRole.enumOf(attendeeBaseInfo.getRole()));
setRole(role);
setBroadcastSelf(attendeeStatusInfo.getIsBroadcast() == 1);
TsdkConfParticipantStatus participantStatus = TsdkConfParticipantStatus.enumOf(attendeeStatusInfo.getState());
if (participantStatus != null) {
setStatus(convertConfctrlParticipantStatus(participantStatus));
}
setSelf((attendeeStatusInfo.getIsSelf() == 1));
setInDataConference(attendeeStatusInfo.getIsJoinDataconf() == 1);
setPresent(attendeeStatusInfo.getIsPresent() == 1);
}
public ConfConstant.ParticipantStatus convertConfctrlParticipantStatus(TsdkConfParticipantStatus state) {
ConfConstant.ParticipantStatus status = ConfConstant.ParticipantStatus.UNKNOWN;
switch (state) {
case TSDK_E_CONF_PARTICIPANT_STATUS_IN_CONF:
status = ConfConstant.ParticipantStatus.IN_CONF;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_CALLING:
status = ConfConstant.ParticipantStatus.CALLING;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_JOINING:
status = ConfConstant.ParticipantStatus.JOINING;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_LEAVED:
status = ConfConstant.ParticipantStatus.LEAVED;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_NO_EXIST:
status = ConfConstant.ParticipantStatus.NO_EXIST;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_BUSY:
status = ConfConstant.ParticipantStatus.BUSY;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_NO_ANSWER:
status = ConfConstant.ParticipantStatus.NO_ANSWER;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_REJECT:
status = ConfConstant.ParticipantStatus.REJECT;
break;
case TSDK_E_CONF_PARTICIPANT_STATUS_CALL_FAILED:
status = ConfConstant.ParticipantStatus.CALL_FAILED;
break;
default:
break;
}
return status;
}
public boolean isOpenCamera() {
return isOpenCamera;
}
public void setOpenCamera(boolean openCamera) {
isOpenCamera = openCamera;
}
public int getDecodeSsrc() {
return decodeSsrc;
}
public void setDecodeSsrc(int decodeSsrc) {
this.decodeSsrc = decodeSsrc;
}
@Override
public int hashCode() {
return number.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if ((obj == null) || (obj.getClass() != this.getClass())) {
return false;
}
Member member = (Member) obj;
return member.number.equals(this.number);
}
}

View File

@ -5,86 +5,81 @@ import android.content.Intent;
import android.os.IBinder;
import com.hjq.toast.ToastUtils;
import com.tenlionsoft.baselib.constant.PathConfig;
import com.tenlionsoft.baselib.core.network.HttpUtils;
import com.tenlionsoft.baselib.core.network.response.DownloadResponseHandler;
import com.tenlionsoft.baselib.core.network.update.utils.ApkUtils;
import com.tenlionsoft.baselib.core.network.update.utils.Constants;
import com.tenlionsoft.baselib.core.network.update.utils.NotificationBarUtil;
import com.tenlionsoft.baselib.core.network.update.utils.NotificationHelper;
import com.tenlionsoft.baselib.core.network.update.utils.StorageUtils;
import java.io.File;
import androidx.annotation.Nullable;
/**
* 下载服务
*/
public class DownloadService extends Service {
static final /* synthetic */ boolean $assertionsDisabled = false;
private DownInfo downInfo;
private int oldProgress = 0;
private NotificationHelper notificationHelper;
/* access modifiers changed from: private */
public NotificationHelper notificationHelper;
/* access modifiers changed from: private */
public int oldProgress = 0;
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
downInfo = new DownInfo();
notificationHelper = new NotificationHelper(this);
this.downInfo = new DownInfo();
this.notificationHelper = new NotificationHelper(this);
}
@Override
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
assert intent != null;
String urlStr = intent.getStringExtra(Constants.APK_DOWNLOAD_URL);
downInfo.setUrl(urlStr);
File dir = StorageUtils.getExternalCacheCustomDirectory(this);
String apkName = System.currentTimeMillis() + ".apk";
downInfo.setApkName(apkName);
downInfo.setSavePath(dir.getAbsolutePath());
public int onStartCommand(Intent intent, int i, int i2) {
this.downInfo.setUrl(intent.getStringExtra("downloadUrl"));
File externalCacheCustomDirectory = StorageUtils.getExternalCacheCustomDirectory(this);
this.downInfo.setApkName(System.currentTimeMillis() + ".apk");
this.downInfo.setSavePath(externalCacheCustomDirectory.getAbsolutePath());
downLoadFile();
return super.onStartCommand(intent, flags, startId);
return super.onStartCommand(intent, i, i2);
}
private void downLoadFile() {
HttpUtils.getInstance().download(downInfo.getUrl(), downInfo.getSavePath(), downInfo.getApkName(), new DownloadResponseHandler() {
@Override
public void onFinish(File download_file) {
//收起通知栏
this.notificationHelper.showNotification("即将开始下载", "");
HttpUtils.getInstance().download(this.downInfo.getUrl(), this.downInfo.getSavePath(),
this.downInfo.getApkName(), new DownloadResponseHandler() {
public void onFinish(File file) {
NotificationBarUtil.setNotificationBarVisibility(DownloadService.this, false);
//安装
ApkUtils.installAPk(DownloadService.this, download_file);
notificationHelper.cancel();
stopSelf();
String absolutePath = file.getAbsolutePath();
Intent intent = new Intent();
intent.putExtra("filePath", absolutePath);
intent.setAction(PathConfig.ACTION_APP_INSTALL);
DownloadService.this.sendBroadcast(intent);
DownloadService.this.notificationHelper.cancel();
DownloadService.this.stopSelf();
}
@Override
public void onProgress(long currentBytes, long totalBytes) {
int progress = (int) ((currentBytes * 1.0 / totalBytes) * 100);
if (progress != oldProgress) {
notificationHelper.updateProgress(progress);
public void onProgress(long j, long j2) {
double d = (double) j;
Double.isNaN(d);
double d2 = (double) j2;
Double.isNaN(d2);
int i = (int) (((d * 1.0d) / d2) * 100.0d);
if (i != DownloadService.this.oldProgress) {
DownloadService.this.notificationHelper.updateProgress(i);
}
oldProgress = progress;
int unused = DownloadService.this.oldProgress = i;
}
@Override
public void onFailure(String error_msg) {
ToastUtils.show("App下载失败,请稍后重试");
notificationHelper.cancel();
stopSelf();
public void onFailure(String str) {
ToastUtils.show((CharSequence) "App下载失败,请稍后重试");
DownloadService.this.notificationHelper.cancel();
DownloadService.this.stopSelf();
}
});
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}

View File

@ -59,7 +59,7 @@ public class BaseUrlApi {
// public static final String APP_VERSION_ID = "2f384d5c-419d-47a2-94cb-4a05b6f00936";/*测试App下载码*/
// public static final String APP_VERSION_ID = "c16826e7-8cfb-4db1-8844-09d2be697bc7";/* 155 测试App下载码*/
public static final String APP_VERSION_ID = "949cfb5c-5f38-47d0-8b89-62ca88269f22";/*正式App下载码*/
public static final String APP_VERSION_ID = "e2f64ae0-69a5-454c-8471-483291a7bfb1";/*正式App下载码*/
/*======百度定位city-code=======*/

View File

@ -33,6 +33,7 @@ import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Path;
import retrofit2.http.Url;
/**
* 作者 : Adam on 2018/12/7.
@ -96,9 +97,9 @@ public interface BaseApiService {
*
* @return
*/
@GET
@Headers({"Content-Type: application/json", "Accept: application/json"})
@GET("app/appversion/get-number/{appVersionId}")
Observable<VersionBean> doCheckAppVersion(@Path("appVersionId") String appVersionId);
Observable<VersionBean> doCheckAppVersion(@Url String str);
/**
* 上传图片文件

View File

@ -1,24 +1,23 @@
package com.tenlionsoft.baselib.core.widget.views;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.text.Editable;
import android.text.Selection;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.tenlionsoft.baselib.R;
import com.tenlionsoft.baselib.utils.SPUtils;
/**
@ -27,178 +26,147 @@ import com.tenlionsoft.baselib.utils.SPUtils;
* 描述 : 评论dialog
*/
public class BottomSettingPwdView extends Dialog {
private View view;
private Context context;
private OnChoseListener mListener;
public ImageView mIvImg;
private boolean isShowPwd = false;
private boolean isShowPwd;
public EditText mEtPwd;
private TextView mTvResul;
public ImageView mIvImg;
private OnChoseListener mListener;
private View view;
private int windowHeight;
public interface OnChoseListener {
void shareQQ();
private int windowWidth;
void shareWeChart();
private BottomSettingPwdView(Context context) {
super(context, R.style.Dialog_ChoseFile);
this.context = context;
void shareWeibo();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = LayoutInflater.from(context).inflate(R.layout.dialog_bottom_setting_pwd, null);
View view = LayoutInflater.from(this.context).inflate(R.layout.dialog_bottom_setting_pwd, null);
this.view = view;
setContentView(view);
this.view.findViewById(R.id.tv_cancel).setOnClickListener(v -> dismiss());
this.view.findViewById(R.id.tv_confirm).setOnClickListener(v -> {
String url = mEtPwd.getText().toString().trim();
SPUtils.getInstance().put("baseUrl", url);
dismiss();
private BottomSettingPwdView(Context context2) {
super(context2, R.style.Dialog_ChoseFile);
this.isShowPwd = false;
this.context = context2;
}
/* access modifiers changed from: protected */
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
View inflate = LayoutInflater.from(this.context).inflate(R.layout.dialog_bottom_setting_pwd, (ViewGroup) null);
this.view = inflate;
setContentView(inflate);
this.view.findViewById(R.id.tv_cancel).setOnClickListener(view -> BottomSettingPwdView.this.lambda$onCreate$0$BottomSettingPwdView(view));
this.view.findViewById(R.id.tv_confirm).setOnClickListener(new View.OnClickListener() {
public final void onClick(View view) {
BottomSettingPwdView.this.lambda$onCreate$1$BottomSettingPwdView(view);
}
});
this.mTvResul = view.findViewById(R.id.tv_resul);
mTvResul.setOnClickListener(v -> dismiss());
setCancelable(true);
setCanceledOnTouchOutside(true);
this.mEtPwd = (EditText) this.view.findViewById(R.id.et_pwd);
ImageView imageView = (ImageView) this.view.findViewById(R.id.iv_show_pwd);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
imageView.setOnClickListener(v -> BottomSettingPwdView.this.lambda$onCreate$2$BottomSettingPwdView(imageView,
view));
Window window = getWindow();
window.setGravity(80);
window.setWindowAnimations(R.style.Dialog_ChoseFile);
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = -1;
layoutParams.height = -2;
window.setAttributes(layoutParams);
window.setBackgroundDrawable((Drawable) new ColorDrawable());
WindowManager.LayoutParams attributes = window.getAttributes();
attributes.width = -1;
attributes.height = -2;
window.setAttributes(attributes);
window.setBackgroundDrawable(new ColorDrawable());
window.setSoftInputMode(4);
getScreenSize();
}
private void getScreenSize() {
WindowManager windowManager = ((Activity) this.context).getWindowManager();
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
this.windowWidth = displayMetrics.widthPixels;
this.windowHeight = displayMetrics.heightPixels;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(": ");
stringBuilder.append(this.windowWidth);
stringBuilder.append(" x ");
stringBuilder.append(this.windowHeight);
mTvResul.setText(stringBuilder.toString());
SPUtils sPUtils = SPUtils.getInstance();
stringBuilder = new StringBuilder();
stringBuilder.append(this.windowWidth);
stringBuilder.append("");
sPUtils.put("width", stringBuilder.toString());
sPUtils = SPUtils.getInstance();
stringBuilder = new StringBuilder();
stringBuilder.append(this.windowHeight);
stringBuilder.append("");
sPUtils.put("height", stringBuilder.toString());
sPUtils = SPUtils.getInstance();
stringBuilder = new StringBuilder();
stringBuilder.append(this.windowWidth);
stringBuilder.append("x");
stringBuilder.append(this.windowHeight);
sPUtils.put("res", stringBuilder.toString());
public /* synthetic */ void lambda$onCreate$0$BottomSettingPwdView(View view2) {
dismiss();
}
public /* synthetic */ void lambda$onCreate$1$BottomSettingPwdView(View view2) {
choseType(1);
}
public /* synthetic */ void lambda$onCreate$2$BottomSettingPwdView(ImageView imageView, View view2) {
Editable text = this.mEtPwd.getText();
Selection.setSelection(text, text.length());
if (this.isShowPwd) {
this.isShowPwd = false;
this.mEtPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
imageView.setBackgroundResource(R.drawable.ic_hide_pwd);
return;
}
this.isShowPwd = true;
imageView.setBackgroundResource(R.drawable.ic_show_pwd);
this.mEtPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}
private void showSoftKeyBoardDialog(EditText editText) {
if (editText != null) {
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
//请求获得焦点
editText.requestFocus();
//调用系统输入法
InputMethodManager inputManager =
(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
((InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(editText
, 0);
}
}
public void addOnChoseListener(OnChoseListener listener) {
this.mListener = listener;
public void show() {
super.show();
getWindow().clearFlags(131080);
}
public void addOnChoseListener(OnChoseListener onChoseListener) {
this.mListener = onChoseListener;
}
/**
* 选择
*
* @param i
*/
private void choseType(int i) {
if (mListener != null) {
switch (i) {
case 1:
mListener.shareWeChart();
break;
case 2:
mListener.shareWeibo();
break;
case 3:
mListener.shareQQ();
break;
}
OnChoseListener onChoseListener = this.mListener;
if (onChoseListener == null) {
return;
}
if (i == 1) {
onChoseListener.shareWeChart();
} else if (i == 2) {
onChoseListener.shareWeibo();
} else if (i == 3) {
onChoseListener.shareQQ();
}
this.dismiss();
}
public interface OnChoseListener {
void shareWeChart();
void shareWeibo();
void shareQQ();
}
public static class DialogBuilder {
private Context mContext;
private boolean isCancelable;
private boolean mIsBackable;
private int mGravity = Gravity.BOTTOM;
private OnChoseListener mListener;
private boolean mIsShowOther;
private boolean isCommentImg;
private Context mContext;
private int mGravity = 80;
private boolean mIsBackable;
private boolean mIsShow;
private boolean mIsShowOther;
private OnChoseListener mListener;
public DialogBuilder(Context context) {
this.mContext = context;
}
public DialogBuilder setIscancelable(boolean iscancelable) {
this.isCancelable = iscancelable;
public DialogBuilder setIscancelable(boolean z) {
this.isCancelable = z;
return this;
}
public DialogBuilder setIsBackCancelable(boolean isBackCancelable) {
this.mIsBackable = isBackCancelable;
public DialogBuilder setIsBackCancelable(boolean z) {
this.mIsBackable = z;
return this;
}
public DialogBuilder setShowLocation(int gravity) {
this.mGravity = gravity;
public DialogBuilder setShowLocation(int i) {
this.mGravity = i;
return this;
}
private boolean mIsShow;
public DialogBuilder setIsShowFile(boolean isShowFile) {
mIsShow = isShowFile;
public DialogBuilder setIsShowFile(boolean z) {
this.mIsShow = z;
return this;
}
public DialogBuilder setIsShowOther(boolean isShow) {
mIsShowOther = isShow;
public DialogBuilder setIsShowOther(boolean z) {
this.mIsShowOther = z;
return this;
}
@ -206,8 +174,8 @@ public class BottomSettingPwdView extends Dialog {
return new BottomSettingPwdView(this.mContext);
}
public DialogBuilder setIsShowPhoto(String isCommentImg) {
if ("0".equals(isCommentImg)) {
public DialogBuilder setIsShowPhoto(String str) {
if ("0".equals(str)) {
this.isCommentImg = false;
} else {
this.isCommentImg = true;

View File

@ -61,8 +61,8 @@ public class BottomSettingView extends Dialog {
setContentView(inflate);
this.mSpAppType = (AppCompatSpinner) this.view.findViewById(R.id.sp_system_platform);
this.mSpReadType = (AppCompatSpinner) this.view.findViewById(R.id.sp_read_type);
final String[] stringArray = this.context.getResources().getStringArray(R.array.spinner_clint);
final String[] stringArray2 = this.context.getResources().getStringArray(R.array.spinner_type);
final String[] stringArray = this.context.getResources().getStringArray(R.array.actionArray);
final String[] stringArray2 = this.context.getResources().getStringArray(R.array.readTypeArray);
this.mSpAppType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onNothingSelected(AdapterView<?> adapterView) {
}

View File

@ -1,32 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
android:background="@color/transparent"
android:orientation="vertical"
tools:background="@color/black">
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="5dp"
android:background="@drawable/shape_rectangle_gray_top_5"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:gravity="right"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_system_setting"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="bottom"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:clickable="true"
android:focusable="true"
@ -34,6 +33,7 @@
android:src="@drawable/ic_setting" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:id="@+id/tv_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
@ -41,121 +41,127 @@
android:focusable="true"
android:text="关闭应用"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp"
app:text_type_cus="2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取方式:"
android:textColor="@color/app_title_9f_no"
app:text_type_cus="2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="25dp">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/sp_read_type"
style="@style/custom_dialog2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/spinner_type"
android:minWidth="100dp"
app:theme="@style/Widget.AppCompat.Spinner.DropDown" />
</LinearLayout>
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="终 端:"
android:textColor="@color/app_title_9f_no"
app:text_type_cus="2" />
android:layout_margin="20dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="20dp">
android:gravity="center_vertical"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/sp_system_platform"
style="@style/custom_dialog2"
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取方式:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/spinner_clint"
android:minWidth="100dp" />
android:background="@drawable/shape_bottom_line"
android:minHeight="25dp">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/sp_read_type"
style="@style/common_spinner"
android:entries="@array/readTypeArray"
android:minWidth="200dp"
app:theme="@style/common_spinner" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设 备 号:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp"
app:text_type_cus="2" />
<EditText
android:id="@+id/et_device_code"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入设备号"
android:padding="10dp"
android:textColor="@color/black"
android:textColorHint="@color/black_90"
android:textSize="16sp" />
</LinearLayout>
android:layout_marginTop="20dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="终 端:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="网络地址:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_bottom_line"
android:minHeight="25dp">
<EditText
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/sp_system_platform"
style="@style/common_spinner"
android:entries="@array/actionArray"
android:minWidth="200dp"
app:theme="@style/common_spinner" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入网络地址"
android:padding="10dp"
android:textColor="@color/black"
android:textColorHint="@color/black_90"
android:textSize="16sp" />
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设 备 号:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
<EditText
android:id="@+id/et_device_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_bottom_line"
android:hint="请输入设备号"
android:padding="5dp"
android:textColor="@color/text_detail_24"
android:textColorHint="@color/hint_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="网络地址:"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
<EditText
android:id="@+id/et_service_url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_bottom_line"
android:hint="请输入网络地址"
android:padding="5dp"
android:textColor="@color/text_detail_24"
android:textColorHint="@color/hint_color"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="@color/gray" />
android:layout_height="5dp"
android:background="@color/gray_line" />
<LinearLayout
android:layout_width="match_parent"
@ -163,6 +169,7 @@
android:orientation="horizontal">
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:id="@+id/tv_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -173,9 +180,10 @@
android:paddingBottom="20dp"
android:text="取消"
android:textColor="@color/app_title_9f_no"
app:text_type_cus="2" />
android:textSize="16sp" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:id="@+id/tv_confirm"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@ -186,7 +194,7 @@
android:paddingBottom="20dp"
android:text="保存"
android:textColor="@color/app_title_9f_no"
app:text_type_cus="2" />
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical"
tools:background="@color/black">
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
@ -14,48 +13,41 @@
android:background="@drawable/shape_rectangle_gray_top_5"
android:orientation="vertical">
<TextView
android:id="@+id/tv_resul"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="10dp"
android:textColor="@color/app_title_9f_no"
android:textSize="15sp"
tools:text="本机分辨率:720✖1554" />
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="@color/gray_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="20dp">
android:orientation="horizontal">
<TextView
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码:"
android:textColor="@color/app_title_9f_no"
android:textSize="@dimen/text_16" />
android:textSize="16sp"
app:text_type_cus="1" />
<EditText
android:id="@+id/et_pwd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/shape_bottom_line"
android:hint="请输入密码"
android:inputType="textPassword" />
android:inputType="textPassword"
android:padding="5dp"
android:textColor="@color/text_detail_24"
android:textColorHint="@color/hint_color"
android:textSize="15sp" />
<ImageView
android:id="@+id/iv_show_pwd"
android:layout_width="30dp"
android:layout_height="30dp"
android:src="@drawable/ic_load_error" />
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/ic_hide_pwd" />
</LinearLayout>
<View
@ -80,7 +72,8 @@
android:paddingBottom="20dp"
android:text="取消"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
android:textSize="16sp"
app:text_type_cus="1" />
<com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView
android:id="@+id/tv_confirm"
@ -94,8 +87,8 @@
android:paddingBottom="20dp"
android:text="确定"
android:textColor="@color/app_title_9f_no"
android:textSize="16sp" />
android:textSize="16sp"
app:text_type_cus="1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -49,13 +49,12 @@
<string name="cloudLink_permission_settingHint">,请到设置中开启\n设置路径系统设置->%s->权限</string>
<string name="cloudLink_permission_prohibited">权限被禁止,无法选择本地图片</string>
<array name="spinner_type">
<item>App</item>
<item>SD卡</item>
</array>
<array name="spinner_clint">
<array name="actionArray">
<item>触摸机</item>
<item>壁挂机</item>
</array>
<array name="readTypeArray">
<item>App</item>
<item>SD卡</item>
</array>
</resources>

View File

@ -288,6 +288,28 @@
<item name="android:textColor">@color/black</item>
</style>
<style name="common_spinner">
<item name="android:dropDownListViewStyle">@style/spinnerListStyle</item>
<item name="android:dropDownItemStyle">@style/itemSpinnerStyle</item>
<item name="android:gravity">left|center_horizontal|clip_horizontal</item>
<item name="android:layout_gravity">left|center_horizontal|clip_horizontal</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">match_parent</item>
<item name="android:dropDownSelector">@color/gray_line</item>
<item name="android:popupBackground">@color/white</item>
<item name="android:dropDownVerticalOffset">25dp</item>
</style>
<style name="spinnerListStyle">
<item name="android:divider">#fff</item>
<item name="android:dividerHeight">1dp</item>
</style>
<style name="itemSpinnerStyle">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/white</item>
</style>
<style name="register_text_sel_no_arrow">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>

View File

@ -2,8 +2,8 @@ ext{
gCompileSdkVersion = 32
gMinSdkVersion = 21
gTargetSdkVersion = 30
gVersionCode = 3
gVersionName = '1.0.2'
gVersionCode = 27
gVersionName = '1.2.7'
gBuildToolsVersion = "29.0.2"
// gVersionCode=26
// gVersionName='1.3.0'