Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ad8bf07 authored by Edward Jee's avatar Edward Jee Committed by Android (Google) Code Review
Browse files

Merge "Once the user allows PBAP phonebook access, do not ask again." into klp-dev

parents 162b014c 46c74655
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@@ -35,15 +35,6 @@
            android:layout_marginEnd="20dip"
            android:gravity="center_horizontal"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox android:id="@+id/bluetooth_remember_choice"
            style="?android:attr/textAppearanceMedium"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:layout_marginBottom="20dip"
            android:text="@string/bluetooth_remember_choice" />

    </LinearLayout>

</ScrollView>
+0 −40
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

    <LinearLayout
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/message"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="20dip"
            android:layout_marginEnd="20dip"
            android:gravity="center_horizontal"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

</ScrollView>
+13 −29
Original line number Diff line number Diff line
@@ -55,8 +55,6 @@ public class BluetoothPermissionActivity extends AlertActivity implements
    private String mReturnPackage = null;
    private String mReturnClass = null;

    private CheckBox mRememberChoice;
    private boolean mRememberChoiceValue = false;
    private int mRequestType = 0;
    private BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
@@ -156,64 +154,50 @@ public class BluetoothPermissionActivity extends AlertActivity implements
        return mRemoteName;
    }

    // TODO(edjee): createConnectionDialogView, createPhonebookDialogView and createMapDialogView
    // are similar. Refactor them into one method.
    // Also, the string resources bluetooth_remember_choice and bluetooth_pb_remember_choice should
    // be removed.
    private View createConnectionDialogView() {
        String mRemoteName = createRemoteName();
        mView = getLayoutInflater().inflate(R.layout.bluetooth_connection_access, null);
        mView = getLayoutInflater().inflate(R.layout.bluetooth_access, null);
        messageView = (TextView)mView.findViewById(R.id.message);
        messageView.setText(getString(R.string.bluetooth_connection_dialog_text,
                mRemoteName));
        return mView;
    }

    private void createCheckbox(int viewId)
    {
        mRememberChoice = (CheckBox)mView.findViewById(viewId);
        mRememberChoice.setChecked(false);
        mRememberChoice.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    mRememberChoiceValue = true;
                } else {
                    mRememberChoiceValue = false;
                }
            }
            });
    }
    private View createPhonebookDialogView() {
        String mRemoteName = createRemoteName();
        mView = getLayoutInflater().inflate(R.layout.bluetooth_access, null);
        messageView = (TextView)mView.findViewById(R.id.message);
        messageView.setText(getString(R.string.bluetooth_pb_acceptance_dialog_text,
                mRemoteName, mRemoteName));
        createCheckbox(R.id.bluetooth_remember_choice);
        return mView;
    }

    private View createMapDialogView() {
        String mRemoteName = createRemoteName();
        mView = getLayoutInflater().inflate(R.layout.bluetooth_access, null);
        messageView = (TextView)mView.findViewById(R.id.message);
        messageView.setText(getString(R.string.bluetooth_map_acceptance_dialog_text,
                mRemoteName, mRemoteName));
        createCheckbox(R.id.bluetooth_remember_choice);
        return mView;
    }

    private void onPositive() {
        if (DEBUG) Log.d(TAG, "onPositive mRememberChoiceValue: " + mRememberChoiceValue);
        if (mRememberChoiceValue)
        if (DEBUG) Log.d(TAG, "onPositive");
        savePermissionChoice(mRequestType, CachedBluetoothDevice.ACCESS_ALLOWED);

        // TODO(edjee): Now that we always save the user's choice,
        // we can get rid of BluetoothDevice#EXTRA_ALWAYS_ALLOWED.
        sendIntentToReceiver(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY, true,
                            BluetoothDevice.EXTRA_ALWAYS_ALLOWED, mRememberChoiceValue);
                             BluetoothDevice.EXTRA_ALWAYS_ALLOWED, true);
        finish();
    }

    private void onNegative() {
        if (DEBUG) Log.d(TAG, "onNegative mRememberChoiceValue: " + mRememberChoiceValue);

        if (mRememberChoiceValue)
            savePermissionChoice(mRequestType, CachedBluetoothDevice.ACCESS_REJECTED);

        if (DEBUG) Log.d(TAG, "onNegative");
        savePermissionChoice(mRequestType, CachedBluetoothDevice.ACCESS_UNKNOWN);
        sendIntentToReceiver(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY, false,
                             null, false // dummy value, no effect since last param is null
                             );