Commit 43a62653 authored by wanglei's avatar wanglei

...

parent 794beedf
......@@ -124,7 +124,7 @@ dependencies {
//支持暂停恢复下载
implementation("com.liulishuo.filedownloader:library:1.7.7")
implementation("com.facebook.android:facebook-android-sdk:[8,9)")
//firebase
implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
......@@ -141,5 +141,5 @@ dependencies {
implementation("io.reactivex.rxjava3:rxandroid:3.0.0")
//facebook
implementation("com.facebook.android:facebook-android-sdk:[8,9)")
}
\ No newline at end of file
......@@ -39,7 +39,6 @@
android:usesCleartextTraffic="true"
tools:targetApi="34">
<receiver
android:name=".ui.widget.BrowserAppWidget"
android:exported="false">
......@@ -219,7 +218,7 @@
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.activity.SearchActivity"
android:name=".ui.activity.search.SearchActivity"
android:exported="false"
android:launchMode="singleTop"
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
import androidx.lifecycle.lifecycleScope
import com.base.browserwhite.databinding.ActivityAboutBinding
import com.base.browserwhite.ui.activity.BaseActivity
......@@ -11,6 +12,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
override fun initView() {
lifecycleScope
}
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import android.content.Intent
import android.graphics.Color
import android.view.View
import androidx.activity.addCallback
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import com.base.browserwhite.bean.BookmarkBean
import com.base.browserwhite.databinding.ActivityBookmarkBinding
......@@ -42,8 +43,11 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
bookmarkAdapter = BookmarkAdapter()
bookmarkAdapter.changeFolderAction = { folderId ->
val list = bookmarkList.filter { it.folderId == folderId }
binding.llEmpty.isVisible = list.isEmpty()
bookmarkAdapter.submitList(list)
}
bookmarkAdapter.moreAction = { view, bean ->
showBookmarkMoreDialog(
view,
......@@ -122,6 +126,7 @@ class BookmarkActivity : BaseActivity<ActivityBookmarkBinding>() {
bookmarkList.addAll(items)
bookmarkAdapter.currentFolderId = 0
bookmarkAdapter.submitList(bookmarkList.filter { it.folderId == bookmarkAdapter.currentFolderId })
binding.llEmpty.isVisible = items.isEmpty()
}
override fun initListener() {
......
package com.base.browserwhite.ui.activity;
package com.base.browserwhite.ui.activity.search;
import android.animation.Animator;
import android.animation.ObjectAnimator;
......@@ -7,6 +7,7 @@ import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.util.TypedValue;
import android.view.View;
......@@ -14,8 +15,13 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
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.LogEx;
import com.base.browserwhite.utils.ToastUtils;
public class SearchActivity extends AppCompatActivity {
@Override
......@@ -26,11 +32,32 @@ public class SearchActivity extends AppCompatActivity {
setContentView(R.layout.activity_search);
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());
layoutParams.topMargin = BarUtils.INSTANCE.getStatusBarHeight()+finalPosition;
layoutParams.topMargin = BarUtils.INSTANCE.getStatusBarHeight() + finalPosition;
layout.setLayoutParams(layoutParams);
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")
......@@ -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 buttonTop = button.getTop() - finalPosition;
int distanceToTop = -buttonTop-verticalOffset;
int distanceToTop = -buttonTop - verticalOffset;
ObjectAnimator animator = ObjectAnimator.ofFloat(button, "translationY", button.getTranslationY(), distanceToTop);
animator.setDuration(500);
animator.addListener(new Animator.AnimatorListener() {
......
package com.base.browserwhite.ui.activity;
package com.base.browserwhite.ui.activity.search;
import androidx.fragment.app.Fragment;
......
package com.base.browserwhite.ui.fragment
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Intent
import android.text.TextUtils
import android.view.KeyEvent
......@@ -31,7 +32,7 @@ import com.base.browserwhite.fcm.NotificationUtil
import com.base.browserwhite.help.Constants
import com.base.browserwhite.help.NewsUtils.requestNews
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.bookmark.BookmarkActivity
import com.base.browserwhite.ui.activity.cleanjunk.ScanJunkActivity
......@@ -61,9 +62,8 @@ import com.chad.library.adapter4.QuickAdapterHelper
import com.chad.library.adapter4.loadState.LoadState
import com.chad.library.adapter4.loadState.trailing.TrailingLoadStateAdapter
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 io.reactivex.rxjava3.core.Observable
class HomeFragment : BaseFragment<FragmentHomeBinding>() {
......@@ -82,15 +82,13 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
private var searchEngine: String = GOOGLE
private var mChangeSearchType: Observable<String>? = null
@SuppressLint("CheckResult")
override fun setView() {
mChangeSearchType = RxBus.get().register(Constants.CHANGE_SEARCH_TYPE, String::class.java)
mChangeSearchType?.observeOn(AndroidSchedulers.mainThread())
?.subscribe(object : Consumer<String> {
override fun accept(t: String) {
LogEx.logDebug("glc", "i:" + t)
mChangeSearchType?.observeOn(AndroidSchedulers.mainThread())?.subscribe { t ->
LogEx.logDebug("glc", "i:$t")
switchSearch(t)
}
})
newsAdapter = NewsAdapter(
clickAction = { url ->
requireContext().startActivity(
......@@ -185,7 +183,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
}
y = binding.searchLayout.translationY
binding.editWeb.setOnClickListener {
SearchActivity.startActivityWithButtonAnimation(activity, binding.searchLayout)
SearchActivity.startActivityWithButtonAnimation(activity, binding.searchLayout, verticalOffset)
}
requestMore()
}
......@@ -347,7 +345,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
}
private fun switchSearch(website:String){
private fun switchSearch(website: String) {
searchEngine = website
searchEngineSp = website
when (website) {
......
......@@ -138,6 +138,32 @@
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
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
......
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