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

Commit 1ce518c3 authored by Hemant Gupta's avatar Hemant Gupta Committed by android-build-merger
Browse files

Merge "OPP: Fix Resource Leak in OPP (2/2)"

am: fa3c4994

Change-Id: I98005a8294225b9eb7ca991bfb5e9d31de258256
parents f0c2aaa3 fa3c4994
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -49,12 +49,15 @@ import com.android.internal.app.AlertController;
 */
public class BluetoothOppBtEnableActivity extends AlertActivity implements
        DialogInterface.OnClickListener {
    private BluetoothOppManager mOppManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Set up the "dialog"
        mOppManager = BluetoothOppManager.getInstance(this);
        mOppManager.mSendingFlag = false;
        final AlertController.AlertParams p = mAlertParams;
        p.mIconAttrId = android.R.attr.alertDialogIcon;
        p.mTitle = getString(R.string.bt_enable_title);
@@ -78,7 +81,6 @@ public class BluetoothOppBtEnableActivity extends AlertActivity implements
    public void onClick(DialogInterface dialog, int which) {
        switch (which) {
            case DialogInterface.BUTTON_POSITIVE:
                BluetoothOppManager mOppManager = BluetoothOppManager.getInstance(this);
                mOppManager.enableBluetooth(); // this is an asyn call
                mOppManager.mSendingFlag = true;

@@ -97,4 +99,13 @@ public class BluetoothOppBtEnableActivity extends AlertActivity implements
                break;
        }
    }

    @Override
    public void onPause() {
        super.onPause();

        if (!mOppManager.mSendingFlag) {
            mOppManager.cleanUpSendingFileInfo();
        }
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -470,4 +470,17 @@ public class BluetoothOppManager {
        }
    }

    void cleanUpSendingFileInfo() {
        synchronized (BluetoothOppManager.this) {
            if (V) Log.v(TAG, "cleanUpSendingFileInfo: mMultipleFlag = " + mMultipleFlag);
            if (!mMultipleFlag && (mUriOfSendingFile != null)) {
                Uri uri = Uri.parse(mUriOfSendingFile);
                BluetoothOppUtility.closeSendFileInfo(uri);
            } else if (mUrisOfSendingFiles != null) {
                for (Uri uri : mUrisOfSendingFiles) {
                    BluetoothOppUtility.closeSendFileInfo(uri);
                }
            }
        }
    }
}
+5 −1
Original line number Diff line number Diff line
@@ -66,8 +66,12 @@ public class BluetoothOppReceiver extends BroadcastReceiver {

            BluetoothDevice remoteDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

            if (V) Log.v(TAG, "Received BT device selected intent, bt device: " + remoteDevice);
            if (D) Log.d(TAG, "Received BT device selected intent, bt device: " + remoteDevice);

            if (remoteDevice == null) {
                mOppManager.cleanUpSendingFileInfo();
                return;
            }
            // Insert transfer session record to database
            mOppManager.startTransfer(remoteDevice);