Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
B
Browser White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Browser White
Commits
bd92eeeb
Commit
bd92eeeb
authored
Aug 12, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
e1957e67
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
43 additions
and
17 deletions
+43
-17
WebSiteBean.kt
app/src/main/java/com/base/browserwhite/bean/WebSiteBean.kt
+7
-2
WebBrowserActivity.kt
...browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
+5
-5
WebsiteAdapter.kt
...n/java/com/base/browserwhite/ui/adapter/WebsiteAdapter.kt
+14
-1
HomeFragment.kt
...in/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
+13
-7
WebViewFragment.kt
...java/com/base/browserwhite/ui/fragment/WebViewFragment.kt
+2
-2
item_website_grid_2.xml
app/src/main/res/layout/item_website_grid_2.xml
+2
-0
No files found.
app/src/main/java/com/base/browserwhite/bean/WebSiteBean.kt
View file @
bd92eeeb
package
com.base.browserwhite.bean
package
com.base.browserwhite.bean
import
android.content.Context
import
com.base.browserwhite.utils.AssetUtils.WebsiteJson
import
com.base.browserwhite.utils.AssetUtils.WebsiteJson
import
com.base.browserwhite.utils.AssetUtils.readJsonFromAsset
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.google.gson.reflect.TypeToken
import
com.google.gson.reflect.TypeToken
import
org.json.JSONObject
import
org.json.JSONObject
...
@@ -30,6 +28,13 @@ data class WebSiteBean(
...
@@ -30,6 +28,13 @@ data class WebSiteBean(
)
{
)
{
var
localIcon
:
Int
=
0
var
localIcon
:
Int
=
0
var
increase
=
false
var
increase
=
false
var
isAdd
:
Boolean
=
false
}
fun
defaultValue
(
name
:
String
):
Boolean
{
val
defaultWebSiteName
=
arrayOf
(
"Amazon"
,
"Youtube"
,
"ChatGPT"
,
"Bing"
,
"Twitter"
,
"Wikipedia"
,
"Facebook"
,
"Ebay"
,
"Tiktok"
,
"Whatsapp"
)
return
defaultWebSiteName
.
contains
(
name
)
}
}
val
webCategoryBeanList
by
lazy
{
val
webCategoryBeanList
by
lazy
{
...
...
app/src/main/java/com/base/browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
View file @
bd92eeeb
...
@@ -38,7 +38,8 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
...
@@ -38,7 +38,8 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
if
(
currentFragment
?.
canGoBack
()
==
true
)
{
if
(
currentFragment
?.
canGoBack
()
==
true
)
{
binding
.
ivLeft
.
setImageResource
(
R
.
mipmap
.
left_s
)
binding
.
ivLeft
.
setImageResource
(
R
.
mipmap
.
left_s
)
}
else
{
}
else
{
binding
.
ivLeft
.
setImageResource
(
R
.
mipmap
.
left_n
)
// binding.ivLeft.setImageResource(R.mipmap.left_n)
binding
.
ivLeft
.
setImageResource
(
R
.
mipmap
.
left_s
)
}
}
if
(
currentFragment
?.
canGoForward
()
==
true
)
{
if
(
currentFragment
?.
canGoForward
()
==
true
)
{
binding
.
ivRight
.
setImageResource
(
R
.
mipmap
.
right_s
)
binding
.
ivRight
.
setImageResource
(
R
.
mipmap
.
right_s
)
...
@@ -59,9 +60,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
...
@@ -59,9 +60,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
}
}
}
}
binding
.
ivLeft
.
setOnClickListener
{
binding
.
ivLeft
.
setOnClickListener
{
if
(
currentFragment
?.
canGoBack
()
==
true
)
{
onBackPressedDispatcher
.
onBackPressed
()
currentFragment
?.
goBack
()
}
}
}
binding
.
ivRight
.
setOnClickListener
{
binding
.
ivRight
.
setOnClickListener
{
if
(
currentFragment
?.
canGoForward
()
==
true
)
{
if
(
currentFragment
?.
canGoForward
()
==
true
)
{
...
@@ -80,7 +79,8 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
...
@@ -80,7 +79,8 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
transaction
.
commit
()
transaction
.
commit
()
fragmentList
.
add
(
myFragment
)
fragmentList
.
add
(
myFragment
)
currentFragment
=
myFragment
currentFragment
=
myFragment
currentFragment
?.
onPageFinished
=
{
currentFragment
?.
onPageFinished
=
{
uriString
->
uriString
?.
let
{
binding
.
editWeb
.
setText
(
it
)
}
checkLeftRight
()
checkLeftRight
()
}
}
}
}
...
...
app/src/main/java/com/base/browserwhite/ui/adapter/WebsiteAdapter.kt
View file @
bd92eeeb
...
@@ -9,12 +9,13 @@ import androidx.recyclerview.widget.RecyclerView
...
@@ -9,12 +9,13 @@ import androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
androidx.recyclerview.widget.RecyclerView.ViewHolder
import
com.base.browserwhite.R
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.WebSiteBean
import
com.base.browserwhite.bean.WebSiteBean
import
com.base.browserwhite.bean.defaultValue
import
com.base.browserwhite.databinding.ItemWebsiteGrid2Binding
import
com.base.browserwhite.databinding.ItemWebsiteGrid2Binding
import
com.base.browserwhite.databinding.ItemWebsiteGridBinding
import
com.base.browserwhite.databinding.ItemWebsiteGridBinding
import
com.base.browserwhite.utils.AppPreferences
import
com.base.browserwhite.utils.LogEx
import
com.base.browserwhite.utils.LogEx
import
com.base.browserwhite.utils.XmlEx.inflate
import
com.base.browserwhite.utils.XmlEx.inflate
import
com.bumptech.glide.Glide
import
com.bumptech.glide.Glide
import
com.bumptech.glide.load.resource.bitmap.CircleCrop
class
WebsiteAdapter
(
val
uiType
:
Int
=
0
,
val
click
:
(
bean
:
WebSiteBean
)
->
Unit
)
:
class
WebsiteAdapter
(
val
uiType
:
Int
=
0
,
val
click
:
(
bean
:
WebSiteBean
)
->
Unit
)
:
RecyclerView
.
Adapter
<
WebsiteAdapter
.
WebSiteViewHolder
>()
{
RecyclerView
.
Adapter
<
WebsiteAdapter
.
WebSiteViewHolder
>()
{
...
@@ -71,6 +72,18 @@ class WebsiteAdapter(val uiType: Int = 0, val click: (bean: WebSiteBean) -> Unit
...
@@ -71,6 +72,18 @@ class WebsiteAdapter(val uiType: Int = 0, val click: (bean: WebSiteBean) -> Unit
val
binding
=
ItemWebsiteGrid2Binding
.
bind
(
holder
.
itemView
)
val
binding
=
ItemWebsiteGrid2Binding
.
bind
(
holder
.
itemView
)
Glide
.
with
(
context
).
load
(
bean
.
icon_url
).
into
(
binding
.
iv
)
Glide
.
with
(
context
).
load
(
bean
.
icon_url
).
into
(
binding
.
iv
)
binding
.
tvName
.
text
=
bean
.
name
binding
.
tvName
.
text
=
bean
.
name
val
isAdd
=
AppPreferences
.
getInstance
().
getBoolean
(
"${bean.id}_${bean.name}"
,
defaultValue
(
bean
.
name
))
if
(
isAdd
)
{
binding
.
ivSelectAdd
.
setImageResource
(
R
.
mipmap
.
w_xuan
)
}
else
{
binding
.
ivSelectAdd
.
setImageResource
(
R
.
mipmap
.
w_tianjia
)
}
bean
.
isAdd
=
isAdd
binding
.
ivSelectAdd
.
setOnClickListener
{
AppPreferences
.
getInstance
().
putBoolean
(
"${bean.id}_${bean.name}"
,
!
bean
.
isAdd
)
notifyItemChanged
(
position
)
}
binding
.
root
.
setOnClickListener
{
binding
.
root
.
setOnClickListener
{
click
.
invoke
(
bean
)
click
.
invoke
(
bean
)
}
}
...
...
app/src/main/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
View file @
bd92eeeb
...
@@ -12,6 +12,7 @@ import com.base.browserwhite.bean.ConstObject.GOOGLE
...
@@ -12,6 +12,7 @@ import com.base.browserwhite.bean.ConstObject.GOOGLE
import
com.base.browserwhite.bean.ConstObject.YAHOO
import
com.base.browserwhite.bean.ConstObject.YAHOO
import
com.base.browserwhite.bean.ConstObject.YANDEX
import
com.base.browserwhite.bean.ConstObject.YANDEX
import
com.base.browserwhite.bean.WebSiteBean
import
com.base.browserwhite.bean.WebSiteBean
import
com.base.browserwhite.bean.defaultValue
import
com.base.browserwhite.bean.webSiteGroupBeanList
import
com.base.browserwhite.bean.webSiteGroupBeanList
import
com.base.browserwhite.databinding.FragmentHomeBinding
import
com.base.browserwhite.databinding.FragmentHomeBinding
import
com.base.browserwhite.service.StayNotificationService.Companion.restartStartStayNotification
import
com.base.browserwhite.service.StayNotificationService.Companion.restartStartStayNotification
...
@@ -36,24 +37,29 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...
@@ -36,24 +37,29 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override
fun
setView
()
{
override
fun
setView
()
{
binding
.
rvWeb
.
layoutManager
=
GridLayoutManager
(
requireContext
(),
4
,
LinearLayoutManager
.
VERTICAL
,
false
)
binding
.
rvWeb
.
layoutManager
=
GridLayoutManager
(
requireContext
(),
4
,
LinearLayoutManager
.
VERTICAL
,
false
)
websiteAdapter
=
WebsiteAdapter
(
0
)
{
websiteAdapter
=
WebsiteAdapter
(
0
)
{
bean
->
if
(
it
.
name
==
"Increase"
)
{
if
(
bean
.
name
==
"Increase"
)
{
requireContext
().
startActivity
(
Intent
(
requireContext
(),
WevStoreActivity
::
class
.
java
))
requireContext
().
startActivity
(
Intent
(
requireContext
(),
WevStoreActivity
::
class
.
java
))
}
else
{
}
else
{
requireContext
().
startActivity
(
Intent
(
requireContext
(),
WebBrowserActivity
::
class
.
java
))
requireContext
().
startActivity
(
Intent
(
requireContext
(),
WebBrowserActivity
::
class
.
java
).
apply
{
putExtra
(
"uri"
,
bean
.
url
)
})
}
}
}
}
binding
.
rvWeb
.
adapter
=
websiteAdapter
binding
.
rvWeb
.
adapter
=
websiteAdapter
itemTouchHelper
=
ItemTouchHelper
(
MyItemTouchHelperCallBack
())
itemTouchHelper
=
ItemTouchHelper
(
MyItemTouchHelperCallBack
())
itemTouchHelper
.
attachToRecyclerView
(
binding
.
rvWeb
)
itemTouchHelper
.
attachToRecyclerView
(
binding
.
rvWeb
)
}
val
defaultWebSiteName
=
override
fun
onResume
()
{
arrayOf
(
"Amazon"
,
"Youtube"
,
"ChatGPT"
,
"Bing"
,
"Twitter"
,
"Wikipedia"
,
"Facebook"
,
"Ebay"
,
"Tiktok"
,
"Whatsapp"
)
super
.
onResume
()
setWebSiteData
()
}
private
fun
setWebSiteData
()
{
val
recommendWebSite
=
webSiteGroupBeanList
.
flatMap
{
it
.
items
}.
filter
{
bean
->
val
recommendWebSite
=
webSiteGroupBeanList
.
flatMap
{
it
.
items
}.
filter
{
bean
->
val
defaultValue
=
defaultWebSiteName
.
contains
(
bean
.
name
)
AppPreferences
.
getInstance
().
getBoolean
(
"${bean.id}_${bean.name}"
,
defaultValue
(
bean
.
name
))
AppPreferences
.
getInstance
().
getBoolean
(
"${bean.id}_${bean.name}"
,
defaultValue
)
}
}
websiteAdapter
.
setData
(
recommendWebSite
,
WebSiteBean
(
name
=
"Increase"
).
apply
{
websiteAdapter
.
setData
(
recommendWebSite
,
WebSiteBean
(
name
=
"Increase"
).
apply
{
localIcon
=
R
.
mipmap
.
increase
localIcon
=
R
.
mipmap
.
increase
...
...
app/src/main/java/com/base/browserwhite/ui/fragment/WebViewFragment.kt
View file @
bd92eeeb
...
@@ -20,7 +20,7 @@ class WebViewFragment(val uri: String) : BaseFragment<FragmentWebViewBinding>()
...
@@ -20,7 +20,7 @@ class WebViewFragment(val uri: String) : BaseFragment<FragmentWebViewBinding>()
FragmentWebViewBinding
.
inflate
(
layoutInflater
)
FragmentWebViewBinding
.
inflate
(
layoutInflater
)
}
}
var
onPageFinished
:
(()
->
Unit
)?
=
null
var
onPageFinished
:
((
uri
:
String
?
)
->
Unit
)?
=
null
override
fun
setView
()
{
override
fun
setView
()
{
...
@@ -91,7 +91,7 @@ class WebViewFragment(val uri: String) : BaseFragment<FragmentWebViewBinding>()
...
@@ -91,7 +91,7 @@ class WebViewFragment(val uri: String) : BaseFragment<FragmentWebViewBinding>()
override
fun
onPageFinished
(
view
:
WebView
?,
url
:
String
?)
{
override
fun
onPageFinished
(
view
:
WebView
?,
url
:
String
?)
{
super
.
onPageFinished
(
view
,
url
)
super
.
onPageFinished
(
view
,
url
)
onPageFinished
?.
invoke
()
onPageFinished
?.
invoke
(
url
)
}
}
}
}
...
...
app/src/main/res/layout/item_website_grid_2.xml
View file @
bd92eeeb
...
@@ -33,6 +33,8 @@
...
@@ -33,6 +33,8 @@
android:layout_gravity=
"center_vertical"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"8dp"
android:layout_marginHorizontal=
"8dp"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:ellipsize=
"end"
android:singleLine=
"true"
android:text=
"Reddit"
android:text=
"Reddit"
android:textSize=
"17sp"
android:textSize=
"17sp"
tools:ignore=
"HardcodedText"
/>
tools:ignore=
"HardcodedText"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment