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.os.Bundle;
2094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.DiskInfo;
2194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.StorageManager;
2294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.os.storage.VolumeInfo;
2394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.text.TextUtils;
2494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.LayoutInflater;
2594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.View;
2694635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.View.OnClickListener;
2794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.view.ViewGroup;
2894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.widget.Button;
2994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport android.widget.TextView;
3094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
31265d3c2a0c36251bf8a9f571d7239b6dd404d942Tamas Berghammerimport com.android.internal.logging.nano.MetricsProto.MetricsEvent;
3294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport com.android.settings.R;
330aed68d6b9f832491dbc381755864cd4e977fc2dJason Monkimport com.android.settings.SettingsPreferenceFragment;
3494635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkeyimport com.android.settings.deviceinfo.StorageSettings.UnmountTask;
3594635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
360aed68d6b9f832491dbc381755864cd4e977fc2dJason Monkpublic class PrivateVolumeUnmount extends SettingsPreferenceFragment {
3794635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    private VolumeInfo mVolume;
3894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    private DiskInfo mDisk;
3994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
4094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    @Override
416507613ebcd22e4691c2af92a5c161bd327db336Fan Zhang    public 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);
517bc9235aaa6d8b68119f7635214fe9d72d4a7c42Jeff Sharkey        mDisk = storage.findDiskById(mVolume.getDiskId());
5294635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey
5394635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        final View view = inflater.inflate(R.layout.storage_internal_unmount, 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_unmount_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) {
672949a4ab4d342a315420ccda07c02075edccd4f0Jeff Sharkey            new UnmountTask(getActivity(), mVolume).execute();
6894635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey            getActivity().finish();
6994635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey        }
7094635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey    };
7194635995e49ee2ab0f3640dd83b2fe680b7bd589Jeff Sharkey}
72