summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/cyanogenmod/superuser/PolicyNativeFragment.java
blob: a541999711d27f651c0ea3f435e8cf92f625fe2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.android.settings.cyanogenmod.superuser;

import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.android.settings.Utils;
import com.koushikdutta.superuser.LogNativeFragment;
import com.koushikdutta.superuser.PolicyFragmentInternal;
import com.koushikdutta.superuser.SettingsNativeFragment;

public class PolicyNativeFragment extends com.koushikdutta.superuser.PolicyNativeFragment {
    public static class CMLogNativeFragment extends LogNativeFragment {
        @Override
        public View onCreateView(LayoutInflater inflater,
                ViewGroup container, Bundle savedInstanceState) {
            View view = super.onCreateView(inflater, container, savedInstanceState);
            adjustListPadding(getInternal().getListView());
            return view;
        }
    }

    public static class CMSettingsNativeFragment extends SettingsNativeFragment {
        @Override
        public View onCreateView(LayoutInflater inflater,
                ViewGroup container, Bundle savedInstanceState) {
            View view = super.onCreateView(inflater, container, savedInstanceState);
            adjustListPadding(getInternal().getListView());
            return view;
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = super.onCreateView(inflater, container, savedInstanceState);
        Utils.forcePrepareCustomPreferencesList(container, view, getInternal().getListView(), false);
        return view;
    }

    @Override
    public PolicyFragmentInternal createFragmentInterface() {
        return new FragmentInternal(this) {
            @Override
            protected LogNativeFragment createLogNativeFragment() {
                return new CMLogNativeFragment();
            }

            @Override
            protected SettingsNativeFragment createSettingsNativeFragment() {
                return new CMSettingsNativeFragment();
            };
        };
    }

    private static void adjustListPadding(ListView list) {
        final Resources res = list.getResources();
        final int paddingSide = res.getDimensionPixelSize(
                com.android.internal.R.dimen.preference_fragment_padding_side);
        final int paddingBottom = res.getDimensionPixelSize(
                com.android.internal.R.dimen.preference_fragment_padding_bottom);

        list.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
        list.setPadding(paddingSide, 0, paddingSide, paddingBottom);
    }
}