OwnerInfoSettings.java revision edfaaeaed7e7329620b8e9d62a62aa41f09ad787
1edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller/*
2edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * Copyright (C) 2010 The Android Open Source Project
3edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller *
4edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * Licensed under the Apache License, Version 2.0 (the "License");
5edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * you may not use this file except in compliance with the License.
6edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * You may obtain a copy of the License at
7edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller *
8edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller *      http://www.apache.org/licenses/LICENSE-2.0
9edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller *
10edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * Unless required by applicable law or agreed to in writing, software
11edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * distributed under the License is distributed on an "AS IS" BASIS,
12edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * See the License for the specific language governing permissions and
14edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller * limitations under the License.
15edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller */
16edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
17edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerpackage com.android.settings;
18edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
19edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.app.Fragment;
20edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.content.ContentResolver;
21edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.os.Bundle;
22edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.provider.Settings;
23edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.text.Editable;
24edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.text.TextWatcher;
25edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.view.LayoutInflater;
26edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.view.View;
27edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.view.ViewGroup;
28edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.widget.CheckBox;
29edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.widget.CompoundButton;
30edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.widget.EditText;
31edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerimport android.widget.CompoundButton.OnCheckedChangeListener;
32edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
33edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Millerpublic class OwnerInfo extends Fragment {
34edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    private View mView;
35edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    private CheckBox mCheckbox;
36edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    private EditText mEditText;
37edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
38edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    @Override
39edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    public View onCreateView(LayoutInflater inflater, ViewGroup container,
40edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller            Bundle savedInstanceState) {
41edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mView = inflater.inflate(R.layout.ownerinfo, container, false);
42edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        initView(mView);
43edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        return mView;
44edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    }
45edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
46edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    private void initView(View view) {
47edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        final ContentResolver res = getActivity().getContentResolver();
48edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        String info = Settings.Secure.getString(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO);
49edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        int enabled = Settings.Secure.getInt(res,
50edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller                Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED, 1);
51edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mCheckbox = (CheckBox) mView.findViewById(R.id.show_owner_info_on_lockscreen_checkbox);
52edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mEditText = (EditText) mView.findViewById(R.id.owner_info_edit_text);
53edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mEditText.setText(info);
54edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mEditText.setEnabled(enabled != 0);
55edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mCheckbox.setChecked(enabled != 0);
56edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        mCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
57edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
58edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller                Settings.Secure.putInt(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED,
59edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller                        isChecked ? 1 : 0);
60edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller                mEditText.setEnabled(isChecked); // disable text field if not enabled
61edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller            }
62edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        });
63edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    }
64edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
65edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    @Override
66edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    public void onPause() {
67edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        super.onPause();
68edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        saveToDb();
69edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    }
70edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
71edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    void saveToDb() {
72edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        ContentResolver res = getActivity().getContentResolver();
73edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        String info = mEditText.getText().toString();
74edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller        Settings.Secure.putString(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO, info);
75edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller    }
76edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller
77edfaaeaed7e7329620b8e9d62a62aa41f09ad787Jim Miller}
78