- add basic UI for search - build the search Index thru sqlite FTS4 (faster than FTS3) - create the search Index on the fly depending on the locale - re-index if there is a configuration change - re-index too if the Android build version has changed (usefull for an Android OTA or when a new Android version is pushed as we need to recompute the Index) - search thru "title" and "summary" Preference's data - group results in the same order of the Settings categories into the Drawer - rewrite "title" and/or "summary" if they are containing an hyphen "\u2011" - add Preference Keywords (only for the Settings App) in the Index and allow search on them (Wi-Fi network preference is used as an example) Known restrictions: - we cannot yet search for "dynamic settings" - ... nor we cannot search for settings coming from an external App (like the Phone App and its related settings that are surfacing into the Settings App). - will need a few other CLs to add more keywords (and have them translated) Change-Id: I017a4d6c433f28c257c08cacc1bed98c4c517039
72 lines
2.9 KiB
XML
72 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2014 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.
|
|
-->
|
|
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:minHeight="?android:attr/listPreferredItemHeight"
|
|
android:gravity="center_vertical"
|
|
android:paddingStart="@*android:dimen/preference_item_padding_side"
|
|
android:paddingEnd="?android:attr/scrollbarSize">
|
|
|
|
<RelativeLayout
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:paddingEnd="@*android:dimen/preference_item_padding_inner"
|
|
android:paddingTop="6dip"
|
|
android:paddingBottom="6dip">
|
|
|
|
<TextView android:id="@+id/title"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:singleLine="true"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
android:ellipsize="marquee"
|
|
android:fadingEdge="horizontal" />
|
|
|
|
<TextView android:id="@+id/summary"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/title"
|
|
android:layout_alignStart="@id/title"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondary"
|
|
android:maxLines="10" />
|
|
|
|
</RelativeLayout>
|
|
|
|
<LinearLayout
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:gravity="center"
|
|
android:minWidth="@*android:dimen/preference_icon_minWidth"
|
|
android:orientation="horizontal">
|
|
|
|
<ImageView
|
|
android:id="@+id/icon"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:layout_gravity="center"
|
|
android:minWidth="48dp"
|
|
android:scaleType="centerInside"
|
|
android:layout_marginEnd="@*android:dimen/preference_item_padding_inner"
|
|
/>
|
|
|
|
</LinearLayout>
|
|
|
|
</LinearLayout>
|