Commit 43a62653 authored by wanglei's avatar wanglei

...

parent 794beedf
...@@ -124,7 +124,7 @@ dependencies { ...@@ -124,7 +124,7 @@ dependencies {
//支持暂停恢复下载 //支持暂停恢复下载
implementation("com.liulishuo.filedownloader:library:1.7.7") implementation("com.liulishuo.filedownloader:library:1.7.7")
implementation("com.facebook.android:facebook-android-sdk:[8,9)")
//firebase //firebase
implementation(platform("com.google.firebase:firebase-bom:32.3.1")) implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
...@@ -141,5 +141,5 @@ dependencies { ...@@ -141,5 +141,5 @@ dependencies {
implementation("io.reactivex.rxjava3:rxandroid:3.0.0") implementation("io.reactivex.rxjava3:rxandroid:3.0.0")
//facebook //facebook
implementation("com.facebook.android:facebook-android-sdk:[8,9)")
} }
\ No newline at end of file
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:targetApi="34"> tools:targetApi="34">
<receiver <receiver
android:name=".ui.widget.BrowserAppWidget" android:name=".ui.widget.BrowserAppWidget"
android:exported="false"> android:exported="false">
...@@ -219,7 +218,7 @@ ...@@ -219,7 +218,7 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.activity.SearchActivity" android:name=".ui.activity.search.SearchActivity"
android:exported="false" android:exported="false"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
......
package com.base.browserwhite.help
import android.util.Log
import android.widget.Toast
import com.base.browserwhite.utils.AppPreferences
import com.base.browserwhite.utils.LogEx
import java.io.BufferedReader
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
object SearchTipUtils {
private val TAG = "SearchTipUtils"
fun getSearchTip(q: String): String? {
val url = "https://www.google.com/complete/search?q=$q&cp=3&client=gws-wiz&xssi=t&hl=en"
try {
val conn: HttpURLConnection = URL(url).openConnection() as HttpURLConnection
conn.setRequestMethod("GET")
conn.connectTimeout = 5000
if (200 == conn.getResponseCode()) {
val json = BufferedReader(InputStreamReader(conn.inputStream)).readLine()
LogEx.logDebug(TAG, json)
AppPreferences.getInstance().put(TAG,json)
return json
}
} catch (e: Exception) {
e.printStackTrace()
}
return null
}
}
\ No newline at end of file
package com.base.browserwhite.ui.activity.about package com.base.browserwhite.ui.activity.about
import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.databinding.ActivityAboutBinding import com.base.browserwhite.databinding.ActivityAboutBinding
import com.base.browserwhite.ui.activity.BaseActivity import com.base.browserwhite.ui.activity.BaseActivity
...@@ -11,6 +12,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() { ...@@ -11,6 +12,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
override fun initView() { override fun initView() {
lifecycleScope
} }
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import android.content.Intent ...@@ -5,6 +5,7 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.view.View import android.view.View
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.isVisible
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.browserwhite.bean.BookmarkBean import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.databinding.ActivityBookmarkBinding import com.base.browserwhite.databinding.ActivityBookmarkBinding
...@@ -42,8 +43,11 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() { ...@@ -42,8 +43,11 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
bookmarkAdapter = BookmarkAdapter() bookmarkAdapter = BookmarkAdapter()
bookmarkAdapter.changeFolderAction = { folderId -> bookmarkAdapter.changeFolderAction = { folderId ->
val list = bookmarkList.filter { it.folderId == folderId } val list = bookmarkList.filter { it.folderId == folderId }
binding.llEmpty.isVisible = list.isEmpty()
bookmarkAdapter.submitList(list) bookmarkAdapter.submitList(list)
} }
bookmarkAdapter.moreAction = { view, bean -> bookmarkAdapter.moreAction = { view, bean ->
showBookmarkMoreDialog( showBookmarkMoreDialog(
view, view,
...@@ -122,6 +126,7 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() { ...@@ -122,6 +126,7 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
bookmarkList.addAll(items) bookmarkList.addAll(items)
bookmarkAdapter.currentFolderId = 0 bookmarkAdapter.currentFolderId = 0
bookmarkAdapter.submitList(bookmarkList.filter { it.folderId == bookmarkAdapter.currentFolderId }) bookmarkAdapter.submitList(bookmarkList.filter { it.folderId == bookmarkAdapter.currentFolderId })
binding.llEmpty.isVisible = items.isEmpty()
} }
override fun initListener() { override fun initListener() {
......
package com.base.browserwhite.ui.activity; package com.base.browserwhite.ui.activity.search;
import android.animation.Animator; import android.animation.Animator;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
...@@ -7,6 +7,7 @@ import android.app.Activity; ...@@ -7,6 +7,7 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View; import android.view.View;
...@@ -14,8 +15,13 @@ import androidx.annotation.Nullable; ...@@ -14,8 +15,13 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.base.browserwhite.R; import com.base.browserwhite.R;
import com.base.browserwhite.help.SearchTipUtils;
import com.base.browserwhite.utils.AppPreferences;
import com.base.browserwhite.utils.BarUtils; import com.base.browserwhite.utils.BarUtils;
import com.base.browserwhite.utils.LogEx;
import com.base.browserwhite.utils.ToastUtils;
public class SearchActivity extends AppCompatActivity { public class SearchActivity extends AppCompatActivity {
@Override @Override
...@@ -26,11 +32,32 @@ public class SearchActivity extends AppCompatActivity { ...@@ -26,11 +32,32 @@ public class SearchActivity extends AppCompatActivity {
setContentView(R.layout.activity_search); setContentView(R.layout.activity_search);
ConstraintLayout layout = findViewById(R.id.appbar_layout); ConstraintLayout layout = findViewById(R.id.appbar_layout);
CoordinatorLayout.LayoutParams layoutParams =(CoordinatorLayout.LayoutParams) layout.getLayoutParams(); CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) layout.getLayoutParams();
int finalPosition = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics()); int finalPosition = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics());
layoutParams.topMargin = BarUtils.INSTANCE.getStatusBarHeight()+finalPosition; layoutParams.topMargin = BarUtils.INSTANCE.getStatusBarHeight() + finalPosition;
layout.setLayoutParams(layoutParams); layout.setLayoutParams(layoutParams);
layout.setVisibility(View.VISIBLE); layout.setVisibility(View.VISIBLE);
new Thread(new Runnable() {
@Override
public void run() {
String a = SearchTipUtils.INSTANCE.getSearchTip("w");
new Handler(getMainLooper()).post(new Runnable() {
@Override
public void run() {
if (a != null) {
ToastUtils.INSTANCE.toast(getApplicationContext(), a);
} else {
ToastUtils.INSTANCE.toast(getApplicationContext(), "空的");
}
}
});
}
}
).start();
String json = AppPreferences.getInstance().getString("SearchTipUtils", "");
LogEx.INSTANCE.logDebug("SearchTipUtils", "json=" + json, false);
} }
@SuppressLint("MissingSuperCall") @SuppressLint("MissingSuperCall")
...@@ -42,10 +69,10 @@ public class SearchActivity extends AppCompatActivity { ...@@ -42,10 +69,10 @@ public class SearchActivity extends AppCompatActivity {
} }
public static void startActivityWithButtonAnimation(Activity currentActivity, View button,int verticalOffset) { public static void startActivityWithButtonAnimation(Activity currentActivity, View button, int verticalOffset) {
int finalPosition = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, currentActivity.getResources().getDisplayMetrics()); int finalPosition = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16, currentActivity.getResources().getDisplayMetrics());
int buttonTop = button.getTop() - finalPosition; int buttonTop = button.getTop() - finalPosition;
int distanceToTop = -buttonTop-verticalOffset; int distanceToTop = -buttonTop - verticalOffset;
ObjectAnimator animator = ObjectAnimator.ofFloat(button, "translationY", button.getTranslationY(), distanceToTop); ObjectAnimator animator = ObjectAnimator.ofFloat(button, "translationY", button.getTranslationY(), distanceToTop);
animator.setDuration(500); animator.setDuration(500);
animator.addListener(new Animator.AnimatorListener() { animator.addListener(new Animator.AnimatorListener() {
......
package com.base.browserwhite.ui.activity; package com.base.browserwhite.ui.activity.search;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
......
package com.base.browserwhite.ui.fragment package com.base.browserwhite.ui.fragment
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.text.TextUtils import android.text.TextUtils
import android.view.KeyEvent import android.view.KeyEvent
...@@ -31,7 +32,7 @@ import com.base.browserwhite.fcm.NotificationUtil ...@@ -31,7 +32,7 @@ import com.base.browserwhite.fcm.NotificationUtil
import com.base.browserwhite.help.Constants import com.base.browserwhite.help.Constants
import com.base.browserwhite.help.NewsUtils.requestNews import com.base.browserwhite.help.NewsUtils.requestNews
import com.base.browserwhite.help.RxBus import com.base.browserwhite.help.RxBus
import com.base.browserwhite.ui.activity.SearchActivity import com.base.browserwhite.ui.activity.search.SearchActivity
import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity import com.base.browserwhite.ui.activity.appprocess.AppProcessActivity
import com.base.browserwhite.ui.activity.bookmark.BookmarkActivity import com.base.browserwhite.ui.activity.bookmark.BookmarkActivity
import com.base.browserwhite.ui.activity.cleanjunk.ScanJunkActivity import com.base.browserwhite.ui.activity.cleanjunk.ScanJunkActivity
...@@ -61,9 +62,8 @@ import com.chad.library.adapter4.QuickAdapterHelper ...@@ -61,9 +62,8 @@ import com.chad.library.adapter4.QuickAdapterHelper
import com.chad.library.adapter4.loadState.LoadState import com.chad.library.adapter4.loadState.LoadState
import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.functions.Consumer
import com.google.gson.Gson import com.google.gson.Gson
import io.reactivex.rxjava3.core.Observable
class HomeFragment : BaseFragment<FragmentHomeBinding>() { class HomeFragment : BaseFragment<FragmentHomeBinding>() {
...@@ -82,15 +82,13 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -82,15 +82,13 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
private var searchEngine: String = GOOGLE private var searchEngine: String = GOOGLE
private var mChangeSearchType: Observable<String>? = null private var mChangeSearchType: Observable<String>? = null
@SuppressLint("CheckResult")
override fun setView() { override fun setView() {
mChangeSearchType = RxBus.get().register(Constants.CHANGE_SEARCH_TYPE, String::class.java) mChangeSearchType = RxBus.get().register(Constants.CHANGE_SEARCH_TYPE, String::class.java)
mChangeSearchType?.observeOn(AndroidSchedulers.mainThread()) mChangeSearchType?.observeOn(AndroidSchedulers.mainThread())?.subscribe { t ->
?.subscribe(object : Consumer<String> { LogEx.logDebug("glc", "i:$t")
override fun accept(t: String) { switchSearch(t)
LogEx.logDebug("glc", "i:" + t) }
switchSearch(t)
}
})
newsAdapter = NewsAdapter( newsAdapter = NewsAdapter(
clickAction = { url -> clickAction = { url ->
requireContext().startActivity( requireContext().startActivity(
...@@ -185,7 +183,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -185,7 +183,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
} }
y = binding.searchLayout.translationY y = binding.searchLayout.translationY
binding.editWeb.setOnClickListener { binding.editWeb.setOnClickListener {
SearchActivity.startActivityWithButtonAnimation(activity, binding.searchLayout) SearchActivity.startActivityWithButtonAnimation(activity, binding.searchLayout, verticalOffset)
} }
requestMore() requestMore()
} }
...@@ -347,7 +345,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -347,7 +345,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
} }
private fun switchSearch(website:String){ private fun switchSearch(website: String) {
searchEngine = website searchEngine = website
searchEngineSp = website searchEngineSp = website
when (website) { when (website) {
......
...@@ -138,6 +138,32 @@ ...@@ -138,6 +138,32 @@
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_bookmark" /> tools:listitem="@layout/item_bookmark" />
<LinearLayout
android:id="@+id/ll_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/nobookmark"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:text="NO Bookmark"
android:textColor="#828282"
tools:ignore="HardcodedText" />
</LinearLayout>
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
......
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