Merge "Update display logic for no shared data." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e886ef9e9a
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.development.storage;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.ListActivity;
|
||||
import android.app.blob.BlobInfo;
|
||||
import android.app.blob.BlobStoreManager;
|
||||
@@ -30,7 +31,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
@@ -41,7 +41,6 @@ import com.android.settings.R;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
// TODO: have this class extend DashboardFragment for consistency
|
||||
public class BlobInfoListView extends ListActivity {
|
||||
private static final String TAG = "BlobInfoListView";
|
||||
|
||||
@@ -60,6 +59,17 @@ public class BlobInfoListView extends ListActivity {
|
||||
|
||||
mAdapter = new BlobListAdapter(this);
|
||||
setListAdapter(mAdapter);
|
||||
|
||||
final ActionBar actionBar = getActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onNavigateUp() {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,14 +101,6 @@ public class BlobInfoListView extends ListActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private View getEmptyView() {
|
||||
final View emptyView = mInflater.inflate(R.layout.shared_data_empty_list_view,
|
||||
(ViewGroup) getListView().getRootView());
|
||||
final TextView emptyText = emptyView.findViewById(R.id.empty_view_text);
|
||||
emptyText.setText(R.string.shared_data_no_blobs_text);
|
||||
return emptyView;
|
||||
}
|
||||
|
||||
private void showDeleteBlobDialog(BlobInfo blob) {
|
||||
final AlertDialog dialog = new AlertDialog.Builder(mContext)
|
||||
.setMessage(R.string.shared_data_no_accessors_dialog_text)
|
||||
@@ -139,7 +141,7 @@ public class BlobInfoListView extends ListActivity {
|
||||
void updateList(List<BlobInfo> blobs) {
|
||||
clear();
|
||||
if (blobs.isEmpty()) {
|
||||
getListView().setEmptyView(getEmptyView());
|
||||
finish();
|
||||
} else {
|
||||
addAll(blobs);
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.development.storage;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.ListActivity;
|
||||
import android.app.blob.BlobInfo;
|
||||
import android.app.blob.BlobStoreManager;
|
||||
@@ -44,7 +45,6 @@ import com.android.settings.R;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
// TODO: have this class extend DashboardFragment for consistency
|
||||
public class LeaseInfoListView extends ListActivity {
|
||||
private static final String TAG = "LeaseInfoListView";
|
||||
|
||||
@@ -74,6 +74,17 @@ public class LeaseInfoListView extends ListActivity {
|
||||
getListView().addHeaderView(getHeaderView());
|
||||
getListView().addFooterView(getFooterView());
|
||||
getListView().setClickable(false);
|
||||
|
||||
final ActionBar actionBar = getActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onNavigateUp() {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
private LinearLayout getHeaderView() {
|
||||
|
@@ -18,13 +18,20 @@ package com.android.settings.development.storage;
|
||||
|
||||
import android.app.blob.BlobStoreManager;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
|
||||
|
||||
public class SharedDataPreferenceController extends DeveloperOptionsPreferenceController {
|
||||
import java.io.IOException;
|
||||
|
||||
public class SharedDataPreferenceController extends DeveloperOptionsPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
private static final String TAG = "SharedDataPrefCtrl";
|
||||
private static final String SHARED_DATA = "shared_data";
|
||||
|
||||
private BlobStoreManager mBlobStoreManager;
|
||||
@@ -39,14 +46,18 @@ public class SharedDataPreferenceController extends DeveloperOptionsPreferenceCo
|
||||
return SHARED_DATA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return mBlobStoreManager != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
preference.setEnabled(mBlobStoreManager != null);
|
||||
// TODO: update summary to indicate why this preference isn't available
|
||||
try {
|
||||
final boolean showPref = mBlobStoreManager != null
|
||||
&& !mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT).isEmpty();
|
||||
preference.setEnabled(showPref);
|
||||
preference.setSummary(showPref ? R.string.shared_data_summary
|
||||
: R.string.shared_data_no_blobs_text);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Unable to fetch blobs for current user: " + e.getMessage());
|
||||
preference.setEnabled(false);
|
||||
preference.setSummary(R.string.shared_data_no_blobs_text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user