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

Commit 069e810c authored by Brad Fitzpatrick's avatar Brad Fitzpatrick Committed by Android Code Review
Browse files

Merge "Fixing memory leak in PreferenceScreen."

parents ded2b006 190acd4d
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -81,6 +81,8 @@ public final class PreferenceScreen extends PreferenceGroup implements AdapterVi
    
    
    private Dialog mDialog;
    private Dialog mDialog;


    private ListView mListView;
    
    /**
    /**
     * Do NOT use this constructor, use {@link PreferenceManager#createPreferenceScreen(Context)}.
     * Do NOT use this constructor, use {@link PreferenceManager#createPreferenceScreen(Context)}.
     * @hide-
     * @hide-
@@ -145,15 +147,18 @@ public final class PreferenceScreen extends PreferenceGroup implements AdapterVi
    
    
    private void showDialog(Bundle state) {
    private void showDialog(Bundle state) {
        Context context = getContext();
        Context context = getContext();
        ListView listView = new ListView(context);
        if (mListView != null) {
        bind(listView);
            mListView.setAdapter(null);
        }
        mListView = new ListView(context);
        bind(mListView);


        // Set the title bar if title is available, else no title bar
        // Set the title bar if title is available, else no title bar
        final CharSequence title = getTitle();
        final CharSequence title = getTitle();
        Dialog dialog = mDialog = new Dialog(context, TextUtils.isEmpty(title)
        Dialog dialog = mDialog = new Dialog(context, TextUtils.isEmpty(title)
                ? com.android.internal.R.style.Theme_NoTitleBar
                ? com.android.internal.R.style.Theme_NoTitleBar
                : com.android.internal.R.style.Theme);
                : com.android.internal.R.style.Theme);
        dialog.setContentView(listView);
        dialog.setContentView(mListView);
        if (!TextUtils.isEmpty(title)) {
        if (!TextUtils.isEmpty(title)) {
            dialog.setTitle(title);
            dialog.setTitle(title);
        }
        }