diff --git a/Android.mk b/Android.mk index a573378faea..96b5befd056 100644 --- a/Android.mk +++ b/Android.mk @@ -32,7 +32,6 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \ androidx.preference_preference \ androidx.recyclerview_recyclerview \ androidx.legacy_legacy-preference-v14 \ - com.google.android.material_material \ LOCAL_JAVA_LIBRARIES := \ bouncycastle \ diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 19c8e5eb6a5..3b6d4f8cd6f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -123,19 +123,12 @@ android:value="true" /> - - - + android:targetActivity="Settings"> diff --git a/res/drawable/ic_list_24dp.xml b/res/drawable/ic_list_24dp.xml deleted file mode 100644 index 03f4af0ba5d..00000000000 --- a/res/drawable/ic_list_24dp.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - diff --git a/res/layout/search_bar.xml b/res/layout/search_bar.xml deleted file mode 100644 index 9f8b6307214..00000000000 --- a/res/layout/search_bar.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/res/layout/settings_homepage.xml b/res/layout/settings_homepage.xml deleted file mode 100644 index b944cebdd65..00000000000 --- a/res/layout/settings_homepage.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml index 39940925e2b..b14f73e147e 100644 --- a/res/layout/settings_main_dashboard.xml +++ b/res/layout/settings_main_dashboard.xml @@ -23,9 +23,36 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> - - - + + + + + + + #fdd835 #f44336 - - #F1F3F4 - #F8F9FA - diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 981893d1562..30d1e6c36e5 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -128,8 +128,6 @@ 48dp 2dp 16dp - 2dp - 64dp 16dp @@ -330,10 +328,4 @@ 18sp 14sp - - 90dp - 56dp - 34dp - 68dp - diff --git a/res/values/themes.xml b/res/values/themes.xml index 4d911563bfe..8c3864967e4 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -367,9 +367,4 @@ true - - diff --git a/src/com/android/settings/SettingsHomepageActivity.java b/src/com/android/settings/SettingsHomepageActivity.java deleted file mode 100644 index 7eda621ea43..00000000000 --- a/src/com/android/settings/SettingsHomepageActivity.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings; - -import android.app.Activity; -import android.app.Fragment; -import android.app.FragmentManager; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.util.FeatureFlagUtils; - -import com.android.settings.core.FeatureFlags; -import com.android.settings.homepage.HomepageFragment; -import com.android.settingslib.drawer.SettingsDrawerActivity; - -public class SettingsHomepageActivity extends SettingsDrawerActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - if (!isDynamicHomepageEnabled(this)) { - final Intent settings = new Intent(); - settings.setAction("android.settings.SETTINGS"); - startActivity(settings); - finish(); - } - setContentView(R.layout.settings_homepage); - switchToFragment(this, R.id.main_content, HomepageFragment.class.getName()); - } - - public static boolean isDynamicHomepageEnabled(Context context) { - return FeatureFlagUtils.isEnabled(context, FeatureFlags.DYNAMIC_HOMEPAGE); - } - - /** - * Switch to a specific Fragment - */ - public static void switchToFragment(Activity activity, int id, String fragmentName) { - final Fragment f = Fragment.instantiate(activity, fragmentName, null /* args */); - - FragmentManager manager = activity.getFragmentManager(); - manager.beginTransaction().replace(id, f).commitAllowingStateLoss(); - manager.executePendingTransactions(); - } -} \ No newline at end of file diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java index 08e4de54be5..006bd70b5c4 100644 --- a/src/com/android/settings/core/FeatureFlags.java +++ b/src/com/android/settings/core/FeatureFlags.java @@ -23,5 +23,4 @@ public class FeatureFlags { public static final String BATTERY_DISPLAY_APP_LIST = "settings_battery_display_app_list"; public static final String BLUETOOTH_WHILE_DRIVING = "settings_bluetooth_while_driving"; public static final String AUDIO_SWITCHER_SETTINGS = "settings_audio_switcher"; - public static final String DYNAMIC_HOMEPAGE = "settings_dynamic_homepage"; } diff --git a/src/com/android/settings/homepage/HomepageFragment.java b/src/com/android/settings/homepage/HomepageFragment.java deleted file mode 100644 index 3b0ca2b647f..00000000000 --- a/src/com/android/settings/homepage/HomepageFragment.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage; - - -import android.app.ActionBar; -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Toolbar; - -import androidx.annotation.NonNull; - -import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import com.android.settings.R; -import com.android.settings.SettingsHomepageActivity; -import com.android.settings.Utils; -import com.android.settings.core.InstrumentedFragment; -import com.android.settings.dashboard.DashboardSummary; -import com.android.settings.overlay.FeatureFactory; -import com.android.settings.search.SearchFeatureProvider; - -import com.google.android.material.bottomappbar.BottomAppBar; -import com.google.android.material.bottomsheet.BottomSheetBehavior; -import com.google.android.material.floatingactionbutton.FloatingActionButton; - -public class HomepageFragment extends InstrumentedFragment { - - private static final String TAG = "HomepageFragment"; - - private FloatingActionButton mSearchButton; - private BottomSheetBehavior mBottomSheetBehavior; - private boolean mBottomFragmentLoaded = false; - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - final View rootView = inflater.inflate(R.layout.dashboard, container, false); - return rootView; - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - setupBottomBar(); - setupSearchBar(); - } - - @Override - public int getMetricsCategory() { - return MetricsEvent.SETTINGS_HOMEPAGE; - } - - private void setupBottomBar() { - final Activity activity = getActivity(); - mSearchButton = (FloatingActionButton) activity.findViewById(R.id.search_fab); - - mSearchButton.setOnClickListener(v -> { - final Intent intent = SearchFeatureProvider.SEARCH_UI_INTENT; - intent.setPackage(FeatureFactory.getFactory(activity) - .getSearchFeatureProvider().getSettingsIntelligencePkgName()); - startActivityForResult(intent, 0 /* requestCode */); - }); - mBottomSheetBehavior = BottomSheetBehavior.from(activity.findViewById(R.id.bottom_sheet)); - final BottomAppBar bottomBar = (BottomAppBar) activity.findViewById(R.id.bar); - bottomBar.setOnClickListener(v -> { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - }); - - final int screenWidthpx = getResources().getDisplayMetrics().widthPixels; - final View searchbar = activity.findViewById(R.id.search_bar_container); - final View bottombar = activity.findViewById(R.id.bar); - - - mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { - @Override - public void onStateChanged(@NonNull View bottomSheet, int newState) { - if (!mBottomFragmentLoaded) { - SettingsHomepageActivity.switchToFragment(getActivity(), - R.id.bottom_sheet_fragment, DashboardSummary.class.getName()); - mBottomFragmentLoaded = true; - } - if (newState == BottomSheetBehavior.STATE_EXPANDED) { - bottombar.setVisibility(View.INVISIBLE); - searchbar.setVisibility(View.VISIBLE); - mSearchButton.setVisibility(View.GONE); - } else if (newState == BottomSheetBehavior.STATE_COLLAPSED) { - bottombar.setVisibility(View.VISIBLE); - searchbar.setVisibility(View.INVISIBLE); - mSearchButton.setVisibility(View.VISIBLE); - } else if (newState == BottomSheetBehavior.STATE_SETTLING) { - bottombar.setVisibility(View.VISIBLE); - searchbar.setVisibility(View.VISIBLE); - mSearchButton.setVisibility(View.VISIBLE); - } - } - - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) { - bottombar.setAlpha(1 - slideOffset); - mSearchButton.setAlpha(1 - slideOffset); - searchbar.setAlpha(slideOffset); - searchbar.setPadding((int) (screenWidthpx * (1 - slideOffset)), 0, 0, 0); - } - }); - } - - //TODO(110767984), copied from settingsActivity. We have to merge them - private void setupSearchBar() { - final Activity activity = getActivity(); - final Toolbar toolbar = activity.findViewById(R.id.search_action_bar); - FeatureFactory.getFactory(activity).getSearchFeatureProvider() - .initSearchToolbar(activity, toolbar); - activity.setActionBar(toolbar); - - // Please forgive me for what I am about to do. - // - // Need to make the navigation icon non-clickable so that the entire card is clickable - // and goes to the search UI. Also set the background to null so there's no ripple. - final View navView = toolbar.getNavigationView(); - navView.setClickable(false); - navView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - navView.setBackground(null); - - final ActionBar actionBar = activity.getActionBar(); - if (actionBar != null) { - boolean deviceProvisioned = Utils.isDeviceProvisioned(activity); - actionBar.setDisplayHomeAsUpEnabled(deviceProvisioned); - actionBar.setHomeButtonEnabled(deviceProvisioned); - actionBar.setDisplayShowTitleEnabled(false); - } - } -}