Skip to content

Commit 42c698f

Browse files
committed
Introduce an interface for DpcPreferences.
The common interface allows abstraction over different DpcPreference types. This allows constraints to be set regardless of whether it is a switch of a normal preference. Change-Id: Ic7054c9def68d3c59580642027071c048f94e893
1 parent 11d6cfc commit 42c698f

File tree

5 files changed

+69
-4
lines changed

5 files changed

+69
-4
lines changed

app/src/main/java/com/afwsamples/testdpc/common/preference/DpcEditTextPreference.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*
2929
* See {@link DpcPreferenceHelper} for details about constraints.
3030
*/
31-
public class DpcEditTextPreference extends EditTextPreference {
31+
public class DpcEditTextPreference extends EditTextPreference implements DpcPreferenceBase {
3232
private DpcPreferenceHelper mHelper;
3333

3434
public DpcEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -68,34 +68,42 @@ public void setEnabled(boolean enabled) {
6868
super.setEnabled(enabled);
6969
}
7070

71+
@Override
7172
public void setAdminConstraint(int adminConstraint) {
7273
mHelper.setAdminConstraint(adminConstraint);
7374
}
7475

76+
@Override
7577
public void clearAdminConstraint() {
7678
mHelper.clearAdminConstraint();
7779
}
7880

81+
@Override
7982
public void setUserConstraint(int userConstraints) {
8083
mHelper.setUserConstraint(userConstraints);
8184
}
8285

86+
@Override
8387
public void clearUserConstraint() {
8488
mHelper.clearUserConstraint();
8589
}
8690

91+
@Override
8792
public void clearNonCustomConstraints() {
8893
mHelper.clearNonCustomConstraints();
8994
}
9095

96+
@Override
9197
public void setCustomConstraint(CharSequence constraintSummary) {
9298
mHelper.setCustomConstraint(constraintSummary);
9399
}
94100

101+
@Override
95102
public void setCustomConstraint(@StringRes int constraintSummaryRes) {
96103
mHelper.setCustomConstraint(getContext().getString(constraintSummaryRes));
97104
}
98105

106+
@Override
99107
public void clearCustomConstraint() {
100108
mHelper.clearCustomConstraint();
101109
}

app/src/main/java/com/afwsamples/testdpc/common/preference/DpcListPreference.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*
2929
* See {@link DpcPreferenceHelper} for details about constraints.
3030
*/
31-
public class DpcListPreference extends ListPreference {
31+
public class DpcListPreference extends ListPreference implements DpcPreferenceBase {
3232
private DpcPreferenceHelper mHelper;
3333

3434
public DpcListPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -68,34 +68,42 @@ public void setEnabled(boolean enabled) {
6868
super.setEnabled(enabled);
6969
}
7070

71+
@Override
7172
public void setAdminConstraint(int adminConstraint) {
7273
mHelper.setAdminConstraint(adminConstraint);
7374
}
7475

76+
@Override
7577
public void clearAdminConstraint() {
7678
mHelper.clearAdminConstraint();
7779
}
7880

81+
@Override
7982
public void setUserConstraint(int userConstraints) {
8083
mHelper.setUserConstraint(userConstraints);
8184
}
8285

86+
@Override
8387
public void clearUserConstraint() {
8488
mHelper.clearUserConstraint();
8589
}
8690

91+
@Override
8792
public void clearNonCustomConstraints() {
8893
mHelper.clearNonCustomConstraints();
8994
}
9095

96+
@Override
9197
public void setCustomConstraint(CharSequence constraintSummary) {
9298
mHelper.setCustomConstraint(constraintSummary);
9399
}
94100

101+
@Override
95102
public void setCustomConstraint(@StringRes int constraintSummaryRes) {
96103
mHelper.setCustomConstraint(getContext().getString(constraintSummaryRes));
97104
}
98105

106+
@Override
99107
public void clearCustomConstraint() {
100108
mHelper.clearCustomConstraint();
101109
}

app/src/main/java/com/afwsamples/testdpc/common/preference/DpcPreference.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*
2929
* See {@link DpcPreferenceHelper} for details about constraints.
3030
*/
31-
public class DpcPreference extends Preference {
31+
public class DpcPreference extends Preference implements DpcPreferenceBase {
3232
private DpcPreferenceHelper mHelper;
3333

3434
public DpcPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -68,34 +68,42 @@ public void setEnabled(boolean enabled) {
6868
super.setEnabled(enabled);
6969
}
7070

71+
@Override
7172
public void setAdminConstraint(int adminConstraint) {
7273
mHelper.setAdminConstraint(adminConstraint);
7374
}
7475

76+
@Override
7577
public void clearAdminConstraint() {
7678
mHelper.clearAdminConstraint();
7779
}
7880

81+
@Override
7982
public void setUserConstraint(int userConstraints) {
8083
mHelper.setUserConstraint(userConstraints);
8184
}
8285

86+
@Override
8387
public void clearUserConstraint() {
8488
mHelper.clearUserConstraint();
8589
}
8690

91+
@Override
8792
public void clearNonCustomConstraints() {
8893
mHelper.clearNonCustomConstraints();
8994
}
9095

96+
@Override
9197
public void setCustomConstraint(CharSequence constraintSummary) {
9298
mHelper.setCustomConstraint(constraintSummary);
9399
}
94100

101+
@Override
95102
public void setCustomConstraint(@StringRes int constraintSummaryRes) {
96103
mHelper.setCustomConstraint(getContext().getString(constraintSummaryRes));
97104
}
98105

106+
@Override
99107
public void clearCustomConstraint() {
100108
mHelper.clearCustomConstraint();
101109
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Copyright (C) 2016 The Android Open Source Project
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.afwsamples.testdpc.common.preference;
18+
19+
import android.support.annotation.StringRes;
20+
21+
/**
22+
* Common base class for the DpcPreference family of classes.
23+
*/
24+
public interface DpcPreferenceBase {
25+
void setAdminConstraint(int adminConstraint);
26+
void clearAdminConstraint();
27+
void setUserConstraint(int userConstraints);
28+
void clearUserConstraint();
29+
void clearNonCustomConstraints();
30+
void setCustomConstraint(CharSequence constraintSummary);
31+
void setCustomConstraint(@StringRes int constraintSummaryRes);
32+
void clearCustomConstraint();
33+
}

app/src/main/java/com/afwsamples/testdpc/common/preference/DpcSwitchPreference.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*
2929
* See {@link DpcPreferenceHelper} for details about constraints.
3030
*/
31-
public class DpcSwitchPreference extends SwitchPreference {
31+
public class DpcSwitchPreference extends SwitchPreference implements DpcPreferenceBase {
3232
private DpcPreferenceHelper mHelper;
3333

3434
public DpcSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -68,34 +68,42 @@ public void setEnabled(boolean enabled) {
6868
super.setEnabled(enabled);
6969
}
7070

71+
@Override
7172
public void setAdminConstraint(int adminConstraint) {
7273
mHelper.setAdminConstraint(adminConstraint);
7374
}
7475

76+
@Override
7577
public void clearAdminConstraint() {
7678
mHelper.clearAdminConstraint();
7779
}
7880

81+
@Override
7982
public void setUserConstraint(int userConstraints) {
8083
mHelper.setUserConstraint(userConstraints);
8184
}
8285

86+
@Override
8387
public void clearUserConstraint() {
8488
mHelper.clearUserConstraint();
8589
}
8690

91+
@Override
8792
public void clearNonCustomConstraints() {
8893
mHelper.clearNonCustomConstraints();
8994
}
9095

96+
@Override
9197
public void setCustomConstraint(CharSequence constraintSummary) {
9298
mHelper.setCustomConstraint(constraintSummary);
9399
}
94100

101+
@Override
95102
public void setCustomConstraint(@StringRes int constraintSummaryRes) {
96103
mHelper.setCustomConstraint(getContext().getString(constraintSummaryRes));
97104
}
98105

106+
@Override
99107
public void clearCustomConstraint() {
100108
mHelper.clearCustomConstraint();
101109
}

0 commit comments

Comments
 (0)