194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey/*
294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * Copyright (C) 2015 The Android Open Source Project
394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey *
494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License");
594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * you may not use this file except in compliance with the License.
694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * You may obtain a copy of the License at
794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey *
894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey *      http://www.apache.org/licenses/LICENSE-2.0
994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey *
1094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * Unless required by applicable law or agreed to in writing, software
1194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS,
1294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * See the License for the specific language governing permissions and
1494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey * limitations under the License.
1594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey */
1694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
1794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeypackage com.android.settings.deviceinfo;
1894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
1994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.content.Intent;
2094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.Bundle;
2194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.DiskInfo;
2294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.StorageManager;
2394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.VolumeInfo;
2494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.text.TextUtils;
2594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.LayoutInflater;
2694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.View;
2794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.View.OnClickListener;
2894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.ViewGroup;
2994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.widget.Button;
3094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.widget.TextView;
3194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
329d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wrenimport com.android.internal.logging.MetricsProto.MetricsEvent;
3394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport com.android.settings.InstrumentedFragment;
3494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport com.android.settings.R;
3594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
36a16257dbd5599135320f4263a2cb438b7a469084Jeff Sharkeypublic class PrivateVolumeFormat extends InstrumentedFragment {
3794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    private VolumeInfo mVolume;
3894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    private DiskInfo mDisk;
3994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
4094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    @Override
4194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    protected int getMetricsCategory() {
429d1bfd1e8de6e46137a9571507c03526880d6a46Chris Wren        return MetricsEvent.DEVICEINFO_STORAGE;
4394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    }
4494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
4594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    @Override
4694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    public View onCreateView(LayoutInflater inflater, ViewGroup container,
4794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey            Bundle savedInstanceState) {
4894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        final StorageManager storage = getActivity().getSystemService(StorageManager.class);
492949a4ab4d342a315420ccda07c02075edccd4f0Jeff Sharkey        final String volumeId = getArguments().getString(VolumeInfo.EXTRA_VOLUME_ID);
5094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        mVolume = storage.findVolumeById(volumeId);
514366b565e150f3744dad66685806c55459d56c46Jeff Sharkey        mDisk = storage.findDiskById(mVolume.getDiskId());
5294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
5394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        final View view = inflater.inflate(R.layout.storage_internal_format, container, false);
5494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        final TextView body = (TextView) view.findViewById(R.id.body);
5594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        final Button confirm = (Button) view.findViewById(R.id.confirm);
5694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
5794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        body.setText(TextUtils.expandTemplate(getText(R.string.storage_internal_format_details),
5894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey                mDisk.getDescription()));
5994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        confirm.setOnClickListener(mConfirmListener);
6094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
6194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        return view;
6294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    }
6394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
6494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    private final OnClickListener mConfirmListener = new OnClickListener() {
6594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        @Override
6694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        public void onClick(View v) {
6794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey            final Intent intent = new Intent(getActivity(), StorageWizardFormatProgress.class);
684366b565e150f3744dad66685806c55459d56c46Jeff Sharkey            intent.putExtra(DiskInfo.EXTRA_DISK_ID, mDisk.getId());
69a16257dbd5599135320f4263a2cb438b7a469084Jeff Sharkey            intent.putExtra(StorageWizardFormatConfirm.EXTRA_FORMAT_PRIVATE, false);
70e77f0687dd424ccfdc2b1061221c6c8ba4d6ac8dJeff Sharkey            intent.putExtra(StorageWizardFormatConfirm.EXTRA_FORGET_UUID, mVolume.getFsUuid());
7194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey            startActivity(intent);
7294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey            getActivity().finish();
7394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        }
7494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    };
7594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey}
76