Add NFC Panel

NFC Panel only shows the NFC setting slice, for now.

Title is "NFC", and See More takes you to the Advanced Device Connectivity
page.

Possibly use cases would be for apps that need to enable NFC for their
peripheral, or accessory.

Test: Manual App
Test: robotest
Change-Id: I8538fd0e4501fb83672418591616f28bf2436645
Fixes: 120142616
This commit is contained in:
Matthew Fritze
2019-01-22 15:53:37 -08:00
parent 17e1190606
commit 3f743aecb4
5 changed files with 108 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
package com.android.settings.panel;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import com.android.settings.R;
import com.android.settings.SubSettings;
import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.slices.SliceBuilderUtils;
import java.util.ArrayList;
import java.util.List;
public class NfcPanel implements PanelContent {
private final Context mContext;
public static NfcPanel create(Context context) {
return new NfcPanel(context);
}
private NfcPanel(Context context) {
mContext = context.getApplicationContext();
}
@Override
public CharSequence getTitle() {
return mContext.getText(R.string.nfc_quick_toggle_title);
}
@Override
public List<Uri> getSlices() {
final List<Uri> uris = new ArrayList<>();
uris.add(CustomSliceRegistry.NFC_SLICE_URI);
return uris;
}
@Override
public Intent getSeeMoreIntent() {
final String screenTitle =
mContext.getText(R.string.connected_device_connections_title).toString();
Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
AdvancedConnectedDeviceDashboardFragment.class.getName(),
null /* key */,
screenTitle,
SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
return intent;
}
}