Commit f0acd09f authored by sheteng's avatar sheteng

与 H5 对接

parent f6b90158
package com.ccwangluo.accelerator.model
data class NewsRes(
val avatar: String?,
val content: String?,
val createdDate: String?,
val greatNum: Int?,
val id: Int?,
val nickname: String?,
val title: String?,
val video: String?,
val videoName: String?
)
\ No newline at end of file
...@@ -18,7 +18,7 @@ import com.xuexiang.xui.adapter.FragmentAdapter ...@@ -18,7 +18,7 @@ import com.xuexiang.xui.adapter.FragmentAdapter
import com.xuexiang.xutil.common.CollectionUtils import com.xuexiang.xutil.common.CollectionUtils
@Page(name = "主页") @Page(name = "main")
class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener, class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener,
BottomNavigationView.OnNavigationItemSelectedListener { BottomNavigationView.OnNavigationItemSelectedListener {
private lateinit var accelertorViewModel: AccelertorViewModel private lateinit var accelertorViewModel: AccelertorViewModel
...@@ -37,15 +37,20 @@ class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener ...@@ -37,15 +37,20 @@ class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener
} }
var titles = arrayOf("加速", "资讯", "我的") var titles = arrayOf("加速", "资讯", "我的")
var fragments = arrayOf(
AccelertorFragment.newInstance(),
NewsFragment.newInstance(),
MineFragment.newInstance()
)
override fun initViews() { override fun initViews() {
val adapter = FragmentAdapter<XPageFragment>( val adapter = FragmentAdapter<XPageFragment>(
childFragmentManager childFragmentManager
) )
adapter.addFragment(AccelertorFragment.newInstance(), titles[0]) adapter.addFragment(fragments[0], titles[0])
adapter.addFragment(NewsFragment.newInstance(), titles[1]) adapter.addFragment(fragments[1], titles[1])
adapter.addFragment(MineFragment.newInstance(), titles[2]) adapter.addFragment(fragments[2], titles[2])
binding.viewPager.setOffscreenPageLimit(titles.size - 1); binding.viewPager.setOffscreenPageLimit(titles.size - 1);
binding.viewPager.adapter = adapter binding.viewPager.adapter = adapter
...@@ -61,11 +66,13 @@ class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener ...@@ -61,11 +66,13 @@ class BottomNavigationFragment : XPageFragment(), ViewPager.OnPageChangeListener
override fun onHiddenChanged(hidden: Boolean) { override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden) super.onHiddenChanged(hidden)
fragments[binding.viewPager.currentItem].onHiddenChanged(hidden)
if (hidden) { if (hidden) {
getUserProfile() getUserProfile()
} }
} }
fun getUserProfile() { fun getUserProfile() {
LoginUtils.token?.let { LoginUtils.token?.let {
LoginUtils.getUserProfile(this) { LoginUtils.getUserProfile(this) {
......
...@@ -10,9 +10,8 @@ import com.ccwangluo.accelerator.ui.dialog.PrivacyDialog ...@@ -10,9 +10,8 @@ import com.ccwangluo.accelerator.ui.dialog.PrivacyDialog
import com.ccwangluo.accelerator.ui.home.AccelertorViewModel import com.ccwangluo.accelerator.ui.home.AccelertorViewModel
import com.ccwangluo.accelerator.ui.login.SplashFragment import com.ccwangluo.accelerator.ui.login.SplashFragment
import com.ccwangluo.accelerator.utils.AcceleratorUtils import com.ccwangluo.accelerator.utils.AcceleratorUtils
import com.ccwangluo.accelerator.utils.LoginUtils
import com.ccwangluo.accelerator.utils.PhoneUtils import com.ccwangluo.accelerator.utils.PhoneUtils
import com.ccwangluo.accelerator.utils.http.HttpConfig import com.github.shadowsocks.HttpConfig
import com.ccwangluo.cc_quickly.utils.SettingSPUtils import com.ccwangluo.cc_quickly.utils.SettingSPUtils
import com.github.shadowsocks.utils.StartService import com.github.shadowsocks.utils.StartService
import com.hjq.toast.ToastUtils import com.hjq.toast.ToastUtils
...@@ -85,14 +84,14 @@ class MainActivity() : XPageActivity(), TencentLocationListener { ...@@ -85,14 +84,14 @@ class MainActivity() : XPageActivity(), TencentLocationListener {
Tencent.setIsPermissionGranted(true) Tencent.setIsPermissionGranted(true)
//隐私协议 //隐私协议
if (!SettingSPUtils.isAgreePrivacy) { if (!SettingSPUtils.isAgreePrivacy) {
PrivacyDialog(this, HttpConfig.privacy_url, { PrivacyDialog(this, HttpConfig.privacy_url) {
if (it) { if (it) {
SettingSPUtils.isAgreePrivacy = true SettingSPUtils.isAgreePrivacy = true
} else { } else {
finish() finish()
} }
}).show<PrivacyDialog>() }.show<PrivacyDialog>()
} }
AcceleratorUtils.initConnect(this, connect) AcceleratorUtils.initConnect(this, connect)
......
...@@ -5,7 +5,7 @@ import android.os.Bundle ...@@ -5,7 +5,7 @@ import android.os.Bundle
import android.widget.ImageView import android.widget.ImageView
import com.ccwangluo.accelerator.R import com.ccwangluo.accelerator.R
import com.ccwangluo.accelerator.ui.web.CommonWebViewFragment import com.ccwangluo.accelerator.ui.web.CommonWebViewFragment
import com.ccwangluo.accelerator.utils.http.HttpConfig import com.github.shadowsocks.HttpConfig
import com.xuexiang.xpage.base.XPageFragment import com.xuexiang.xpage.base.XPageFragment
import com.xuexiang.xui.widget.dialog.materialdialog.CustomMaterialDialog import com.xuexiang.xui.widget.dialog.materialdialog.CustomMaterialDialog
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog
......
package com.ccwangluo.accelerator.ui.home package com.ccwangluo.accelerator.ui.home
import android.graphics.Color import android.graphics.Color
import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
...@@ -12,10 +13,12 @@ import com.ccwangluo.accelerator.R ...@@ -12,10 +13,12 @@ import com.ccwangluo.accelerator.R
import com.ccwangluo.accelerator.databinding.FragmentQuickBinding import com.ccwangluo.accelerator.databinding.FragmentQuickBinding
import com.ccwangluo.accelerator.ui.dialog.CommonDialog import com.ccwangluo.accelerator.ui.dialog.CommonDialog
import com.ccwangluo.accelerator.ui.dialog.MemberDialog import com.ccwangluo.accelerator.ui.dialog.MemberDialog
import com.ccwangluo.accelerator.ui.web.CommonWebViewFragment
import com.ccwangluo.accelerator.utils.AcceleratorUtils import com.ccwangluo.accelerator.utils.AcceleratorUtils
import com.ccwangluo.accelerator.utils.LoginUtils import com.ccwangluo.accelerator.utils.LoginUtils
import com.ccwangluo.accelerator.utils.SysUtils import com.ccwangluo.accelerator.utils.SysUtils
import com.ccwangluo.cc_quickly.utils.SettingSPUtils import com.ccwangluo.cc_quickly.utils.SettingSPUtils
import com.github.shadowsocks.HttpConfig
import com.github.shadowsocks.bg.BaseService import com.github.shadowsocks.bg.BaseService
import com.hjq.toast.ToastUtils import com.hjq.toast.ToastUtils
import com.xuexiang.xpage.base.XPageFragment import com.xuexiang.xpage.base.XPageFragment
...@@ -97,17 +100,45 @@ class AccelertorFragment : XPageFragment() { ...@@ -97,17 +100,45 @@ class AccelertorFragment : XPageFragment() {
freshData(it, acc_timer) freshData(it, acc_timer)
}) })
accelertorViewModel.userProfile.observe(this,{ accelertorViewModel.userProfile.observe(this, {
if (it.hasUnreadNotice) { if (it.hasUnreadNotice) {
binding.iconNoticeBadge.visibility = View.VISIBLE binding.iconNoticeBadge.visibility = View.VISIBLE
} else { } else {
binding.iconNoticeBadge.visibility = View.GONE binding.iconNoticeBadge.visibility = View.GONE
} }
}) })
binding.progressViewCircleSmall.setProgressTextVisibility(false)
} }
override fun initListeners() { override fun initListeners() {
binding.iconNotice.setOnClickListener {
openToWebview("/message")
}
binding.gamePage.setOnClickListener {
openToWebview("/game")
}
binding.smartAccOpen.setOnClickListener {
if (!SettingSPUtils.isSmartAccOpen) {
openToWebview("/setting")
}
}
binding.smartAccOpenBtn.setOnClickListener {
if (!SettingSPUtils.isSmartAccOpen) {
openToWebview("/setting")
}
}
binding.preventAccLost.setOnClickListener {
openToWebview("/questionDetail")
}
binding.preventAccInvalid.setOnClickListener {
openToWebview("/speed")
}
binding.btnExpend.setOnClickListener { binding.btnExpend.setOnClickListener {
if (binding.expandableLayout1.isExpanded) { if (binding.expandableLayout1.isExpanded) {
binding.expandableLayout1.toggle() binding.expandableLayout1.toggle()
...@@ -160,6 +191,22 @@ class AccelertorFragment : XPageFragment() { ...@@ -160,6 +191,22 @@ class AccelertorFragment : XPageFragment() {
} }
} }
fun openToWebview(url: String) {
val params = Bundle()
params.putString(CommonWebViewFragment.WEBVIEW_URL_KEY, HttpConfig.UI_MAIN_URL + url)
LoginUtils.token?.let {
openPage(CommonWebViewFragment::class.java, params)
} ?: let {
LoginUtils.login(this, {
if (true) {
openPage(CommonWebViewFragment::class.java, params)
}
})
}
}
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
AcceleratorUtils.registerStateListener { state, l, net -> AcceleratorUtils.registerStateListener { state, l, net ->
......
...@@ -25,6 +25,7 @@ class AccelertorViewModel : ViewModel() { ...@@ -25,6 +25,7 @@ class AccelertorViewModel : ViewModel() {
//加速状态 //加速状态
var accState = MutableLiveData<BaseService.State>() var accState = MutableLiveData<BaseService.State>()
//用户状态
var userProfile = MutableLiveData<UserProfile>() var userProfile = MutableLiveData<UserProfile>()
} }
\ No newline at end of file
package com.ccwangluo.accelerator.ui.home package com.ccwangluo.accelerator.ui.home
import android.content.Intent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
...@@ -8,7 +9,7 @@ import androidx.fragment.app.Fragment ...@@ -8,7 +9,7 @@ import androidx.fragment.app.Fragment
import com.ccwangluo.accelerator.databinding.FragmentMineBinding import com.ccwangluo.accelerator.databinding.FragmentMineBinding
import com.ccwangluo.accelerator.ui.web.AndroidInterface import com.ccwangluo.accelerator.ui.web.AndroidInterface
import com.ccwangluo.accelerator.utils.LoginUtils import com.ccwangluo.accelerator.utils.LoginUtils
import com.ccwangluo.accelerator.utils.http.HttpConfig import com.github.shadowsocks.HttpConfig
import com.just.agentweb.core.AgentWeb import com.just.agentweb.core.AgentWeb
import com.just.agentweb.core.client.DefaultWebClient import com.just.agentweb.core.client.DefaultWebClient
import com.xuexiang.xpage.base.XPageFragment import com.xuexiang.xpage.base.XPageFragment
...@@ -18,7 +19,7 @@ import com.xuexiang.xpage.utils.TitleBar ...@@ -18,7 +19,7 @@ import com.xuexiang.xpage.utils.TitleBar
class MineFragment : XPageFragment() { class MineFragment : XPageFragment() {
private var _binding: FragmentMineBinding? = null private var _binding: FragmentMineBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
var agentWeb: AgentWeb? = null private var agentWeb: AgentWeb? = null
override fun initTitleBar(): TitleBar? { override fun initTitleBar(): TitleBar? {
//不使用@Page标注的一定要注意覆盖这个方法 //不使用@Page标注的一定要注意覆盖这个方法
...@@ -35,9 +36,9 @@ class MineFragment : XPageFragment() { ...@@ -35,9 +36,9 @@ class MineFragment : XPageFragment() {
LoginUtils.token?.let { LoginUtils.token?.let {
weburl = weburl + "?token=$it" weburl = weburl + "?token=$it"
} }
val agentWeb = agentWeb =
createAgentWeb(this, binding.mineWebview, weburl) createAgentWeb(this, binding.mineWebview, weburl)
agentWeb.getJsInterfaceHolder().addJavaObject("android", AndroidInterface(this, agentWeb)) agentWeb?.getJsInterfaceHolder()?.addJavaObject("android", AndroidInterface(this, agentWeb!!))
} }
override fun initListeners() { override fun initListeners() {
...@@ -72,11 +73,29 @@ class MineFragment : XPageFragment() { ...@@ -72,11 +73,29 @@ class MineFragment : XPageFragment() {
super.setUserVisibleHint(isVisibleToUser) super.setUserVisibleHint(isVisibleToUser)
if (isVisibleToUser) { if (isVisibleToUser) {
LoginUtils.token?.let { LoginUtils.token?.let {
// TODO: 2022/2/16 调用h5 设置token agentWeb?.getJsAccessEntrace()
?.quickCallJs("userToken", it)
} ?: let {
agentWeb?.getJsAccessEntrace()
?.quickCallJs("clearToken")
} }
} }
} }
override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden)
if (!hidden) {
LoginUtils.token?.let {
agentWeb?.getJsAccessEntrace()
?.quickCallJs("userToken", it)
} ?: let {
agentWeb?.getJsAccessEntrace()
?.quickCallJs("clearToken")
}
}
}
override fun onPause() { override fun onPause() {
agentWeb?.getWebLifeCycle()?.onPause() agentWeb?.getWebLifeCycle()?.onPause()
super.onPause() super.onPause()
......
...@@ -26,7 +26,7 @@ class NewsFragment : XPageFragment() { ...@@ -26,7 +26,7 @@ class NewsFragment : XPageFragment() {
return binding.root return binding.root
} }
val titles = arrayOf("动态", "攻略", "视频", "评价", "问答") val titles = arrayOf("全部", "攻略", "视频", "评价", "问答")
var adapter: DemoCollectionAdapter? = null var adapter: DemoCollectionAdapter? = null
override fun initViews() { override fun initViews() {
newsViewModel.refreshState.observe(this, { newsViewModel.refreshState.observe(this, {
......
...@@ -8,6 +8,8 @@ import androidx.fragment.app.Fragment ...@@ -8,6 +8,8 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.ccwangluo.accelerator.R import com.ccwangluo.accelerator.R
import com.ccwangluo.accelerator.adapter.KotlinDataAdapter
import com.ccwangluo.accelerator.model.NewsRes
import com.ccwangluo.accelerator.ui.home.NewsViewModel import com.ccwangluo.accelerator.ui.home.NewsViewModel
import com.ccwangluo.accelerator.ui.news.DemoCollectionAdapter.Companion.ARG_OBJECT import com.ccwangluo.accelerator.ui.news.DemoCollectionAdapter.Companion.ARG_OBJECT
...@@ -16,6 +18,8 @@ class DemoObjectFragment : Fragment() { ...@@ -16,6 +18,8 @@ class DemoObjectFragment : Fragment() {
var recycle_view: RecyclerView? = null var recycle_view: RecyclerView? = null
private lateinit var newsViewModel: NewsViewModel private lateinit var newsViewModel: NewsViewModel
private val deviceList = arrayListOf<NewsRes>()
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
...@@ -29,21 +33,21 @@ class DemoObjectFragment : Fragment() { ...@@ -29,21 +33,21 @@ class DemoObjectFragment : Fragment() {
arguments?.takeIf { it.containsKey(ARG_OBJECT) }?.apply { arguments?.takeIf { it.containsKey(ARG_OBJECT) }?.apply {
val position = getInt(ARG_OBJECT).toString() val position = getInt(ARG_OBJECT).toString()
recycle_view = view.findViewById(R.id.recycle_view) recycle_view = view.findViewById(R.id.recycle_view)
val adapter = KotlinDataAdapter.Builder<NewsRes>()
.setData(deviceList)
.setLayoutId(R.layout.item_dynamic)
.addBindView { itemView, itemData ->
}
.create()
recycle_view?.adapter = adapter
} }
// val adapter = KotlinDataAdapter.Builder<DeviceModel>()
// .setData(deviceList)
// .setLayoutId(R.layout.item_device)
// .addBindView { itemView, itemData ->
// itemView.tv_device_name.text = if (itemData.platform.isEmpty()) "未命名" else
// }
// .create()
} }
fun refresh() { fun refresh() {
recycle_view?.postDelayed({ recycle_view?.postDelayed({
newsViewModel.refreshState.postValue(false ) newsViewModel.refreshState.postValue(false)
}, 1000) }, 1000)
} }
......
package com.ccwangluo.accelerator.ui.web package com.ccwangluo.accelerator.ui.web
import android.content.Intent
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.webkit.JavascriptInterface import android.webkit.JavascriptInterface
import androidx.core.content.ContextCompat.checkSelfPermission import androidx.core.content.ContextCompat.checkSelfPermission
import com.ccwangluo.accelerator.utils.LoginUtils import com.ccwangluo.accelerator.utils.LoginUtils
import com.ccwangluo.accelerator.utils.SysUtils import com.github.shadowsocks.HttpConfig
import com.ccwangluo.accelerator.utils.http.HttpConfig
import com.ccwangluo.cc_quickly.utils.SettingSPUtils import com.ccwangluo.cc_quickly.utils.SettingSPUtils
import com.ccwangluo.cc_quickly.utils.XToastUtils import com.ccwangluo.cc_quickly.utils.XToastUtils
import com.just.agentweb.core.AgentWeb import com.just.agentweb.core.AgentWeb
...@@ -43,8 +40,31 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb) ...@@ -43,8 +40,31 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb)
@JavascriptInterface @JavascriptInterface
fun openWebview(url: String) { fun openWebview(url: String) {
LoginUtils.token?.let {
val params = Bundle()
params.putString(CommonWebViewFragment.WEBVIEW_URL_KEY, HttpConfig.UI_MAIN_URL + url)
xPageFragment.openPage(CommonWebViewFragment::class.java, params)
} ?: let {
LoginUtils.login(xPageFragment) {
LoginUtils.token?.let {
agentWeb.getJsAccessEntrace()
.quickCallJs("userToken", it)
}
}
}
}
//打开系统设置
@JavascriptInterface
fun openSysSetting() {
PermissionUtils.openAppSettings()
}
@JavascriptInterface
fun openAsideWebview(url: String) {
val params = Bundle() val params = Bundle()
params.putString(CommonWebViewFragment.WEBVIEW_URL_KEY, HttpConfig.UI_MAIN_URL + url) params.putString(CommonWebViewFragment.WEBVIEW_URL_KEY, url)
xPageFragment.openPage(CommonWebViewFragment::class.java, params) xPageFragment.openPage(CommonWebViewFragment::class.java, params)
} }
...@@ -66,6 +86,15 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb) ...@@ -66,6 +86,15 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb)
SettingSPUtils.isSmartAccOpen = isopen SettingSPUtils.isSmartAccOpen = isopen
} }
/**
* 智能极限加速
*/
@JavascriptInterface
fun getSmartAccStatus(callback: String) {
agentWeb.getJsAccessEntrace()
.quickCallJs(callback, SettingSPUtils.isSmartAccOpen.toString())
}
/** /**
* 清除token * 清除token
*/ */
...@@ -81,8 +110,7 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb) ...@@ -81,8 +110,7 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb)
@JavascriptInterface @JavascriptInterface
fun getPermissionState(key: String, callback: String) { fun getPermissionState(key: String, callback: String) {
xPageFragment.context?.let { xPageFragment.context?.let {
PermissionUtils.openAppSettings() val hasPermission: Boolean = PermissionUtils.isGranted(key)
val hasPermission: Boolean = if (checkSelfPermission(it, key) > 0) true else false
agentWeb.getJsAccessEntrace() agentWeb.getJsAccessEntrace()
.quickCallJs(callback, key, hasPermission.toString()) .quickCallJs(callback, key, hasPermission.toString())
} }
...@@ -139,7 +167,7 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb) ...@@ -139,7 +167,7 @@ class AndroidInterface(val xPageFragment: XPageFragment, val agentWeb: AgentWeb)
*/ */
@JavascriptInterface @JavascriptInterface
fun uninstallPackge(pageName: String) { fun uninstallPackge(pageName: String) {
AppUtils.uninstallApp(pageName) AppUtils.uninstallApp(pageName)
} }
} }
\ No newline at end of file
...@@ -54,13 +54,13 @@ object LoginUtils { ...@@ -54,13 +54,13 @@ object LoginUtils {
val dateToStamp = TimeUtils.dateToStamp(it.vipExpireTime) + 24 * 60 * 60 * 1000 val dateToStamp = TimeUtils.dateToStamp(it.vipExpireTime) + 24 * 60 * 60 * 1000
// && it.vipExpireTime > System.currentTimeMillis() // && it.vipExpireTime > System.currentTimeMillis()
callBack(it.vip && dateToStamp > System.currentTimeMillis()) callBack(it.vip && dateToStamp > System.currentTimeMillis())
} ?: let { return
getUserProfile(xPageFragment) { }
it?.let { getUserProfile(xPageFragment) {
callBack(true) it?.let {
} ?: let { callBack(true)
callBack(false) } ?: let {
} callBack(false)
} }
} }
} }
......
package com.ccwangluo.accelerator.utils.http package com.ccwangluo.accelerator.utils.http
import android.util.Log
import com.ccwangluo.accelerator.model.BaseModel import com.ccwangluo.accelerator.model.BaseModel
import com.ccwangluo.accelerator.utils.LoginUtils import com.ccwangluo.accelerator.utils.LoginUtils
import com.github.shadowsocks.HttpConfig
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.hjq.toast.ToastUtils import com.hjq.toast.ToastUtils
...@@ -10,11 +10,9 @@ import okhttp3.* ...@@ -10,11 +10,9 @@ import okhttp3.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.toRequestBody
import timber.log.Timber import timber.log.Timber
import java.io.IOException
import java.security.SecureRandom import java.security.SecureRandom
import java.security.cert.X509Certificate import java.security.cert.X509Certificate
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import java.util.logging.Logger
import javax.net.ssl.SSLContext import javax.net.ssl.SSLContext
import javax.net.ssl.SSLSocketFactory import javax.net.ssl.SSLSocketFactory
import javax.net.ssl.X509TrustManager import javax.net.ssl.X509TrustManager
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<FrameLayout <FrameLayout
android:layout_marginTop="36dp" android:layout_marginTop="30dp"
android:id="@+id/mine_webview" android:id="@+id/mine_webview"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
......
...@@ -42,18 +42,19 @@ ...@@ -42,18 +42,19 @@
<RelativeLayout <RelativeLayout
android:id="@+id/icon_notice" android:id="@+id/icon_notice"
android:layout_width="19dp" android:layout_width="19dp"
android:layout_height="21dp"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginEnd="58.5dp" android:layout_marginEnd="58.5dp">
android:layout_height="21dp">
<com.xuexiang.xui.widget.button.roundbutton.RoundButton <com.xuexiang.xui.widget.button.roundbutton.RoundButton
android:id="@+id/icon_notice_badge" android:id="@+id/icon_notice_badge"
android:layout_width="4dp" android:layout_width="4dp"
android:visibility="gone"
android:layout_alignParentEnd="true"
android:layout_height="4dp" android:layout_height="4dp"
app:rb_radius="4dp" android:layout_alignParentEnd="true"
app:rb_backgroundColor="@color/red"/> android:visibility="gone"
app:rb_backgroundColor="@color/red"
app:rb_radius="4dp" />
<ImageView <ImageView
android:layout_width="19dp" android:layout_width="19dp"
...@@ -119,9 +120,10 @@ ...@@ -119,9 +120,10 @@
android:layout_height="200dp" android:layout_height="200dp"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:clickable="true" android:clickable="true"
app:srcCompat="@mipmap/dnf_logo"
app:riv_border_width="1px" app:riv_border_width="1px"
app:riv_is_circle="true" /> app:riv_is_circle="true"
app:srcCompat="@mipmap/dnf_logo" />
<com.xuexiang.xui.widget.progress.CircleProgressView <com.xuexiang.xui.widget.progress.CircleProgressView
android:id="@+id/progressView_circle_small" android:id="@+id/progressView_circle_small"
android:layout_width="220dp" android:layout_width="220dp"
...@@ -134,10 +136,10 @@ ...@@ -134,10 +136,10 @@
app:cpv_isFilled="false" app:cpv_isFilled="false"
app:cpv_isTracked="true" app:cpv_isTracked="true"
app:cpv_progress_duration="2000" app:cpv_progress_duration="2000"
app:cpv_progress_textVisibility="true"
app:cpv_progress_width="4dp"
app:cpv_progress_textColor="#8BE7FA" app:cpv_progress_textColor="#8BE7FA"
app:cpv_progress_textSize="50sp" app:cpv_progress_textSize="50sp"
app:cpv_progress_textVisibility="true"
app:cpv_progress_width="4dp"
app:cpv_start_color="#8BE7FA" app:cpv_start_color="#8BE7FA"
app:cpv_start_progress="0" app:cpv_start_progress="0"
app:cpv_track_color="#57595B" app:cpv_track_color="#57595B"
...@@ -146,6 +148,7 @@ ...@@ -146,6 +148,7 @@
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:id="@+id/game_page"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
...@@ -569,6 +572,7 @@ ...@@ -569,6 +572,7 @@
android:textSize="14sp" /> android:textSize="14sp" />
<com.xuexiang.xui.widget.button.roundbutton.RoundButton <com.xuexiang.xui.widget.button.roundbutton.RoundButton
android:id="@+id/prevent_acc_lost"
android:layout_width="70dp" android:layout_width="70dp"
android:layout_height="25dp" android:layout_height="25dp"
android:gravity="center" android:gravity="center"
...@@ -603,6 +607,7 @@ ...@@ -603,6 +607,7 @@
android:textSize="14sp" /> android:textSize="14sp" />
<com.xuexiang.xui.widget.button.roundbutton.RoundButton <com.xuexiang.xui.widget.button.roundbutton.RoundButton
android:id="@+id/prevent_acc_invalid"
android:layout_width="70dp" android:layout_width="70dp"
android:layout_height="25dp" android:layout_height="25dp"
android:gravity="center" android:gravity="center"
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout <FrameLayout
android:layout_marginTop="36dp"
android:id="@+id/common_webview" android:id="@+id/common_webview"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
......
package com.ccwangluo.accelerator.utils.http package com.github.shadowsocks
object HttpConfig { object HttpConfig {
...@@ -8,7 +8,7 @@ object HttpConfig { ...@@ -8,7 +8,7 @@ object HttpConfig {
/** /**
* 主页h5 * 主页h5
*/ */
val UI_MAIN_URL = "http://test-cc-tt-front.orangenet.org.cn/#" val UI_MAIN_URL = "http://10.3.0.217:8080/#"
//隐私协议地址 //隐私协议地址
val privacy_url = "http:wwww.baidu.com" val privacy_url = "http:wwww.baidu.com"
......
...@@ -7,6 +7,7 @@ import com.android.volley.toolbox.RequestFuture ...@@ -7,6 +7,7 @@ import com.android.volley.toolbox.RequestFuture
import com.android.volley.toolbox.StringRequest import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley import com.android.volley.toolbox.Volley
import com.github.shadowsocks.Core import com.github.shadowsocks.Core
import com.github.shadowsocks.HttpConfig
import com.github.shadowsocks.acl.Acl import com.github.shadowsocks.acl.Acl
import com.github.shadowsocks.database.Profile import com.github.shadowsocks.database.Profile
import com.github.shadowsocks.database.ProfileManager import com.github.shadowsocks.database.ProfileManager
...@@ -100,7 +101,7 @@ object AuthManager { ...@@ -100,7 +101,7 @@ object AuthManager {
val tokenRequest = val tokenRequest =
StringRequest( StringRequest(
Request.Method.GET, Request.Method.GET,
"http://10.3.0.34:9000", HttpConfig.baseUrl,
tokenFuture, tokenFuture,
tokenFuture tokenFuture
) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment