Rearrange a few settings into System category page.
- Use activity-alias to define which activity shows up in what category. We choose activity-alias because it creates a reference to UI we need without having to define a new set of intent-filter and/or category keys. This reduces maintainence in the long run. We should merge metadata from activity-alias into targetActivity when cleaning up. - Created new System dashboard activity that hosts all system category tiles dynamically, and a static tile for checking system update. Bug: 31781480 Test: manual Test: make RunSettingsRoboTests -j40 Change-Id: Ia2d762e3e1aebd17423a395c5e6c286dc3326492
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
package com.android.settings.dashboard;
|
||||
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.Tile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -34,8 +35,20 @@ public interface DashboardFeatureProvider {
|
||||
*/
|
||||
DashboardCategory getTilesForHomepage();
|
||||
|
||||
/**
|
||||
* Get tiles (wrapped in {@link DashboardCategory}) for system category.
|
||||
*/
|
||||
DashboardCategory getTilesForSystemCategory();
|
||||
|
||||
/**
|
||||
* Get all tiles, grouped by category.
|
||||
*/
|
||||
List<DashboardCategory> getAllCategories();
|
||||
|
||||
/**
|
||||
* Returns a priority group for tile. priority level is grouped into hundreds. tiles with
|
||||
* priority 100 - 199 belongs to priority level 100, tiles with priority 200 - 299 is in
|
||||
* group 200, and so on.
|
||||
*/
|
||||
int getPriorityGroup(Tile tile);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.content.Context;
|
||||
import com.android.settingslib.drawer.CategoryKey;
|
||||
import com.android.settingslib.drawer.CategoryManager;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.Tile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,8 +49,18 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
return mCategoryManager.getTilesByCategory(mContext, CategoryKey.CATEGORY_HOMEPAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DashboardCategory getTilesForSystemCategory() {
|
||||
return mCategoryManager.getTilesByCategory(mContext, CategoryKey.CATEGORY_SYSTEM);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DashboardCategory> getAllCategories() {
|
||||
return mCategoryManager.getCategories(mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPriorityGroup(Tile tile) {
|
||||
return tile.priority / 100;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright (C) 2016 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.dashboard;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.android.settings.DividerPreference;
|
||||
import com.android.settings.R;
|
||||
|
||||
/**
|
||||
* A {@code Preference} styled as a dashboard tile.
|
||||
*/
|
||||
public class DashboardTilePreference extends DividerPreference {
|
||||
|
||||
public DashboardTilePreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public DashboardTilePreference(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
setLayoutResource(R.layout.dashboard_tile);
|
||||
setDividerAllowedAbove(false);
|
||||
setDividerAllowedBelow(false);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user