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
dbfcf391
Commit
dbfcf391
authored
Sep 06, 2024
by
leichao.gao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlab.huolea.com:koko/browser-white
parents
216c2185
1f651ced
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
151 additions
and
44 deletions
+151
-44
SearchActivity.kt
...om/base/browserwhite/ui/activity/search/SearchActivity.kt
+34
-12
WebBrowserActivity.kt
...browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
+29
-20
WebViewFragment.kt
...se/browserwhite/ui/activity/webbrowser/WebViewFragment.kt
+11
-8
HomeFragment.kt
...in/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
+6
-1
DialogViews.kt
...c/main/java/com/base/browserwhite/ui/views/DialogViews.kt
+8
-0
ViewObject.kt
...rc/main/java/com/base/browserwhite/ui/views/ViewObject.kt
+21
-0
activity_search.xml
app/src/main/res/layout/activity_search.xml
+39
-2
activity_web_browser.xml
app/src/main/res/layout/activity_web_browser.xml
+3
-1
d_wuhen.png
app/src/main/res/mipmap-xxhdpi/d_wuhen.png
+0
-0
x_wuhen.png
app/src/main/res/mipmap-xxhdpi/x_wuhen.png
+0
-0
No files found.
app/src/main/java/com/base/browserwhite/ui/activity/search/SearchActivity.kt
View file @
dbfcf391
...
...
@@ -26,6 +26,7 @@ import com.base.browserwhite.MyApplication
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.ConstObject
import
com.base.browserwhite.bean.ConstObject.searchEngineSp
import
com.base.browserwhite.bean.ConstObject.webPrivacy
import
com.base.browserwhite.bean.SearchRecordBean
import
com.base.browserwhite.databinding.ActivitySearchBinding
import
com.base.browserwhite.help.Constants
...
...
@@ -35,6 +36,7 @@ import com.base.browserwhite.help.SearchTipUtils.getSearchTip
import
com.base.browserwhite.ui.activity.BaseActivity
import
com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import
com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import
com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import
com.base.browserwhite.utils.BarUtils.setStatusBarColor
import
com.base.browserwhite.utils.BarUtils.setStatusBarLightMode
import
com.base.browserwhite.utils.LinkSearchUtils
...
...
@@ -71,13 +73,16 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
},
performSearch
=
{
link
=
LinkSearchUtils
.
getSpSearchAction
(
content
)
})
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
list
=
SpBeanUtils
.
getSpBeanList
(
SEARCH_RECORD_SP_KEY
).
map
{
Gson
().
fromJson
(
it
,
SearchRecordBean
::
class
.
java
)
}
val
old
=
list
.
find
{
TextUtils
.
equals
(
it
.
content
,
content
)
}
if
(
old
!=
null
)
{
SpBeanUtils
.
deleteSpBeanCondition
(
SEARCH_RECORD_SP_KEY
,
old
.
id
)
if
(!
webPrivacy
)
{
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
list
=
SpBeanUtils
.
getSpBeanList
(
SEARCH_RECORD_SP_KEY
).
map
{
Gson
().
fromJson
(
it
,
SearchRecordBean
::
class
.
java
)
}
val
old
=
list
.
find
{
TextUtils
.
equals
(
it
.
content
,
content
)
}
if
(
old
!=
null
)
{
SpBeanUtils
.
deleteSpBeanCondition
(
SEARCH_RECORD_SP_KEY
,
old
.
id
)
}
SpBeanUtils
.
addSpBean
(
SEARCH_RECORD_SP_KEY
,
SearchRecordBean
(
content
))
}
SpBeanUtils
.
addSpBean
(
SEARCH_RECORD_SP_KEY
,
SearchRecordBean
(
content
))
}
LogEx
.
logDebug
(
TAG
,
"isHomeSearch=$isHomeSearch"
)
...
...
@@ -96,6 +101,11 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
overridePendingTransition
(
0
,
0
)
}
override
fun
onResume
()
{
super
.
onResume
()
setEditPrivacy
(
this
,
binding
.
editWeb
)
}
override
fun
initView
()
{
setStatusBarLightMode
(
this
,
true
)
setStatusBarColor
(
this
,
Color
.
TRANSPARENT
)
...
...
@@ -130,7 +140,13 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
binding
.
rvFlow
.
layoutManager
=
layoutManager
binding
.
rvFlow
.
adapter
=
searchRecordAdapter
showSearchRecord
()
if
(
webPrivacy
)
{
binding
.
rv
.
visibility
=
View
.
GONE
binding
.
rvFlow
.
visibility
=
View
.
GONE
binding
.
llPrivacyMode
.
visibility
=
View
.
VISIBLE
}
else
{
showSearchRecord
()
}
}
override
fun
initListener
()
{
...
...
@@ -144,12 +160,19 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
binding
.
tvCancel
.
visibility
=
View
.
VISIBLE
binding
.
ivClear
.
visibility
=
View
.
GONE
binding
.
tvSearch
.
visibility
=
View
.
GONE
showSearchRecord
()
binding
.
rv
.
visibility
=
View
.
GONE
if
(
webPrivacy
)
{
binding
.
rvFlow
.
visibility
=
View
.
GONE
binding
.
llPrivacyMode
.
visibility
=
View
.
VISIBLE
}
else
{
showSearchRecord
()
}
return
@addTextChangedListener
}
binding
.
rv
.
visibility
=
View
.
VISIBLE
binding
.
tvCancel
.
visibility
=
View
.
GONE
binding
.
rvFlow
.
visibility
=
View
.
GONE
binding
.
llPrivacyMode
.
visibility
=
View
.
GONE
binding
.
tvCancel
.
visibility
=
View
.
GONE
binding
.
ivClear
.
visibility
=
View
.
VISIBLE
binding
.
tvSearch
.
visibility
=
View
.
VISIBLE
...
...
@@ -157,9 +180,6 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
querySearchTip
(
it
.
toString
())
}
binding
.
editWeb
.
setOnFocusChangeListener
{
v
,
hasFocus
->
if
(
hasFocus
)
{
}
}
binding
.
editWeb
.
setOnEditorActionListener
{
v
,
actionId
,
event
->
...
...
@@ -238,6 +258,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
}.
start
()
}
@Deprecated
(
"Deprecated in Java"
)
@SuppressLint
(
"MissingSuperCall"
)
override
fun
onBackPressed
()
{
finish
()
...
...
@@ -353,6 +374,7 @@ class SearchActivity : BaseActivity<ActivitySearchBinding>() {
private
val
searchRecordList
=
arrayListOf
<
SearchRecordBean
>()
private
fun
showSearchRecord
()
{
binding
.
rv
.
visibility
=
View
.
GONE
binding
.
llPrivacyMode
.
visibility
=
View
.
GONE
binding
.
rvFlow
.
visibility
=
View
.
VISIBLE
searchRecordList
.
clear
()
...
...
app/src/main/java/com/base/browserwhite/ui/activity/webbrowser/WebBrowserActivity.kt
View file @
dbfcf391
...
...
@@ -16,6 +16,7 @@ import android.view.View
import
android.view.inputmethod.EditorInfo
import
android.widget.TextView
import
androidx.activity.addCallback
import
androidx.core.content.ContextCompat
import
androidx.core.view.updatePadding
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentTransaction
...
...
@@ -28,6 +29,7 @@ import com.base.browserwhite.bean.BookmarkBean
import
com.base.browserwhite.bean.ConstObject
import
com.base.browserwhite.bean.ConstObject.GOOGLE
import
com.base.browserwhite.bean.ConstObject.searchEngineSp
import
com.base.browserwhite.bean.ConstObject.webPrivacy
import
com.base.browserwhite.databinding.ActivityWebBrowserBinding
import
com.base.browserwhite.help.Constants
import
com.base.browserwhite.help.RxBus
...
...
@@ -41,6 +43,7 @@ import com.base.browserwhite.ui.views.DialogViews.showDeleteTipDialog
import
com.base.browserwhite.ui.views.DialogViews.showMyAccountDialog
import
com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog
import
com.base.browserwhite.ui.views.DialogViews.showWebBrowserMoreDialog
import
com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import
com.base.browserwhite.utils.BarUtils
import
com.base.browserwhite.utils.LinkSearchUtils.getBaiduSearch
import
com.base.browserwhite.utils.LinkSearchUtils.getBingSearch
...
...
@@ -248,6 +251,25 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
}
}
}
binding
.
ivShare
.
setOnClickListener
{
val
shareIntent
=
Intent
()
shareIntent
.
setAction
(
Intent
.
ACTION_SEND
)
shareIntent
.
putExtra
(
Intent
.
EXTRA_TEXT
,
currentFragment
?.
url
)
shareIntent
.
setType
(
"text/plain"
)
runCatching
{
startActivity
(
shareIntent
)
}
}
binding
.
editWeb
.
setOnFocusChangeListener
{
v
,
hasFocus
->
if
(
hasFocus
)
{
binding
.
editWeb
.
selectAll
()
binding
.
ivShare
.
visibility
=
View
.
INVISIBLE
SearchActivity
.
searchContent
=
binding
.
editWeb
.
text
.
toString
()
SearchActivity
.
startActivityWithButtonExpandAnimation
(
this
,
binding
.
clSearch
,
0
)
v
.
clearFocus
()
}
}
binding
.
ivMore
.
setOnClickListener
{
val
json
=
getAddedBookmarkJson
(
currentFragment
?.
bookmarkBean
?.
url
?:
""
)
...
...
@@ -290,31 +312,18 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
},
settingAction
=
{
showMyAccountDialog
(
launcher
)
},
privacyAction
=
{
setEditPrivacy
(
this
,
binding
.
editWeb
)
}
)
}
binding
.
ivShare
.
setOnClickListener
{
val
shareIntent
=
Intent
()
shareIntent
.
setAction
(
Intent
.
ACTION_SEND
)
shareIntent
.
putExtra
(
Intent
.
EXTRA_TEXT
,
currentFragment
?.
url
)
shareIntent
.
setType
(
"text/plain"
)
runCatching
{
startActivity
(
shareIntent
)
}
}
binding
.
editWeb
.
setOnFocusChangeListener
{
v
,
hasFocus
->
if
(
hasFocus
)
{
binding
.
editWeb
.
selectAll
()
binding
.
ivShare
.
visibility
=
View
.
INVISIBLE
SearchActivity
.
searchContent
=
binding
.
editWeb
.
text
.
toString
()
SearchActivity
.
startActivityWithButtonExpandAnimation
(
this
,
binding
.
clSearch
,
0
)
v
.
clearFocus
()
}
}
}
override
fun
onResume
()
{
super
.
onResume
()
setEditPrivacy
(
this
,
binding
.
editWeb
)
}
private
fun
addNewWebSite
(
uri
:
String
)
{
...
...
app/src/main/java/com/base/browserwhite/ui/activity/webbrowser/WebViewFragment.kt
View file @
dbfcf391
...
...
@@ -30,6 +30,7 @@ import androidx.core.view.isVisible
import
androidx.lifecycle.lifecycleScope
import
com.base.browserwhite.MyApplication
import
com.base.browserwhite.bean.BookmarkBean
import
com.base.browserwhite.bean.ConstObject.webPrivacy
import
com.base.browserwhite.bean.DownloadBean
import
com.base.browserwhite.bean.HistoryBean
import
com.base.browserwhite.databinding.FragmentWebViewBinding
...
...
@@ -257,15 +258,17 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
onPageFinished
?.
invoke
(
url
)
onPageFinished
=
null
//添加历史记录
SpBeanUtils
.
addSpBean
(
HISTORY_SP_KEY
,
HistoryBean
(
name
=
tittle
,
url
=
url
?:
""
,
time
=
System
.
currentTimeMillis
(),
color
=
ColorUtils
.
getRandomColor
()
if
(!
webPrivacy
)
{
//添加历史记录
SpBeanUtils
.
addSpBean
(
HISTORY_SP_KEY
,
HistoryBean
(
name
=
tittle
,
url
=
url
?:
""
,
time
=
System
.
currentTimeMillis
(),
color
=
ColorUtils
.
getRandomColor
()
)
)
)
}
}
override
fun
onReceivedSslError
(
...
...
app/src/main/java/com/base/browserwhite/ui/fragment/HomeFragment.kt
View file @
dbfcf391
...
...
@@ -2,6 +2,7 @@ package com.base.browserwhite.ui.fragment
import
android.animation.ObjectAnimator
import
android.annotation.SuppressLint
import
android.content.Context
import
android.content.Intent
import
android.text.TextUtils
import
android.view.KeyEvent
...
...
@@ -9,6 +10,7 @@ import android.view.View
import
android.view.inputmethod.EditorInfo.IME_ACTION_DONE
import
android.widget.TextView
import
android.widget.Toast
import
androidx.core.content.ContextCompat
import
androidx.core.view.isVisible
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.base.browserwhite.R
...
...
@@ -27,6 +29,7 @@ import com.base.browserwhite.bean.ConstObject.NEWS
import
com.base.browserwhite.bean.ConstObject.YAHOO
import
com.base.browserwhite.bean.ConstObject.YANDEX
import
com.base.browserwhite.bean.ConstObject.searchEngineSp
import
com.base.browserwhite.bean.ConstObject.webPrivacy
import
com.base.browserwhite.bean.WebSiteBean
import
com.base.browserwhite.bean.defaultValue
import
com.base.browserwhite.bean.webSiteGroupBeanList
...
...
@@ -51,6 +54,7 @@ import com.base.browserwhite.ui.adapter.HeadWebsiteAdapter
import
com.base.browserwhite.ui.adapter.HeaderAdapter
import
com.base.browserwhite.ui.activity.news.NewsAdapter
import
com.base.browserwhite.ui.views.DialogViews.showSearchEngineDialog
import
com.base.browserwhite.ui.views.ViewObject.setEditPrivacy
import
com.base.browserwhite.utils.AppPreferences
import
com.base.browserwhite.utils.ClipboardUtils.copyText
import
com.base.browserwhite.utils.LinkSearchUtils
...
...
@@ -257,7 +261,8 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override
fun
onResume
()
{
super
.
onResume
()
setWebSiteData
()
binding
.
editWeb
.
setText
(
""
)
binding
.
editWeb
.
text
=
""
setEditPrivacy
(
requireContext
(),
binding
.
editWeb
)
}
private
fun
setWebSiteData
()
{
...
...
app/src/main/java/com/base/browserwhite/ui/views/DialogViews.kt
View file @
dbfcf391
...
...
@@ -38,6 +38,7 @@ import com.base.browserwhite.utils.ActivityLauncher
import
com.base.browserwhite.utils.AppPreferences
import
com.base.browserwhite.utils.RoleManagerUtils.isDefaultBrowser
import
com.base.browserwhite.utils.RoleManagerUtils.requestRoleBrowser
import
com.base.browserwhite.utils.ToastUtils.toast
import
com.google.android.material.bottomsheet.BottomSheetBehavior
import
com.google.android.material.bottomsheet.BottomSheetDialog
...
...
@@ -339,6 +340,7 @@ object DialogViews {
historyAction
:
(()
->
Unit
)?
=
null
,
//历史记录
downloadAction
:
(()
->
Unit
)?
=
null
,
//下载
settingAction
:
(()
->
Unit
)?
=
null
,
privacyAction
:
(()
->
Unit
)?
=
null
,
//隐私模式
)
{
val
dialog
=
BottomSheetDialog
(
this
,
R
.
style
.
BottomSheetDialog
)
...
...
@@ -400,6 +402,12 @@ object DialogViews {
binding
.
switchTraceless
.
isChecked
=
webPrivacy
binding
.
switchTraceless
.
setOnCheckedChangeListener
{
buttonView
,
isChecked
->
webPrivacy
=
isChecked
if
(
webPrivacy
)
{
toast
(
"Enable incognito"
)
}
else
{
toast
(
"Disable incognito"
)
}
privacyAction
?.
invoke
()
}
}
...
...
app/src/main/java/com/base/browserwhite/ui/views/ViewObject.kt
0 → 100644
View file @
dbfcf391
package
com.base.browserwhite.ui.views
import
android.content.Context
import
android.widget.TextView
import
androidx.core.content.ContextCompat
import
com.base.browserwhite.R
import
com.base.browserwhite.bean.ConstObject
object
ViewObject
{
fun
setEditPrivacy
(
context
:
Context
,
view
:
TextView
)
{
if
(
ConstObject
.
webPrivacy
)
{
val
padding
=
context
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_5
)
val
drawable
=
ContextCompat
.
getDrawable
(
context
,
R
.
mipmap
.
x_wuhen
)
drawable
?.
setBounds
(-
padding
,
0
,
drawable
.
intrinsicWidth
-
padding
,
drawable
.
intrinsicHeight
)
view
.
setCompoundDrawables
(
drawable
,
null
,
null
,
null
)
}
else
{
view
.
setCompoundDrawables
(
null
,
null
,
null
,
null
)
}
}
}
\ No newline at end of file
app/src/main/res/layout/activity_search.xml
View file @
dbfcf391
...
...
@@ -96,12 +96,12 @@
android:visibility=
"gone"
/>
<TextView
android:includeFontPadding=
"false"
android:id=
"@+id/tv_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"8dp"
android:includeFontPadding=
"false"
android:text=
"Search"
android:textColor=
"#0571ED"
android:textSize=
"16sp"
...
...
@@ -109,11 +109,11 @@
tools:ignore=
"HardcodedText"
/>
<TextView
android:includeFontPadding=
"false"
android:id=
"@+id/tv_cancel"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:includeFontPadding=
"false"
android:text=
"Cancel"
android:textColor=
"@color/black"
android:textSize=
"16sp"
...
...
@@ -143,6 +143,43 @@
android:padding=
"16dp"
android:visibility=
"gone"
/>
<LinearLayout
android:id=
"@+id/ll_privacy_mode"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"48dp"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:src=
"@mipmap/d_wuhen"
tools:ignore=
"ContentDescription"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"27dp"
android:text=
"Entered incognito browsing"
android:textColor=
"@color/black"
android:textSize=
"18sp"
tools:ignore=
"HardcodedText"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"15dp"
android:gravity=
"center"
android:text=
"Incognito browsing ensures that your\n search and browsing history are not\nstored or record on your device."
android:textColor=
"#545456"
android:textSize=
"16sp"
tools:ignore=
"HardcodedText"
/>
</LinearLayout>
</FrameLayout>
<LinearLayout
...
...
app/src/main/res/layout/activity_web_browser.xml
View file @
dbfcf391
...
...
@@ -76,6 +76,7 @@
<EditText
android:id=
"@+id/edit_web"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
...
...
@@ -84,12 +85,13 @@
android:gravity=
"center_vertical"
android:hint=
"Search or enter website address"
android:imeOptions=
"actionDone"
android:paddingHorizontal=
"
1
5dp"
android:paddingHorizontal=
"5dp"
android:singleLine=
"true"
android:textColorHint=
"#858587"
android:textSize=
"14sp"
app:layout_constraintEnd_toStartOf=
"@id/fl_refresh"
app:layout_constraintStart_toEndOf=
"@id/fl_search_engine"
tools:drawableStart=
"@mipmap/x_wuhen"
tools:ignore=
"Autofill,HardcodedText,TextFields"
/>
<FrameLayout
...
...
app/src/main/res/mipmap-xxhdpi/d_wuhen.png
0 → 100644
View file @
dbfcf391
6.65 KB
app/src/main/res/mipmap-xxhdpi/x_wuhen.png
0 → 100644
View file @
dbfcf391
2.2 KB
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