Hidding some settings instead of disabling them if dependency isn't enabled

This commit is contained in:
Sylvain Berfini 2019-04-10 10:49:15 +02:00
parent 748df246b1
commit 2ba06c850a
4 changed files with 18 additions and 14 deletions

View file

@ -142,7 +142,8 @@ public class CallSettingsFragment extends Fragment {
@Override @Override
public void onBoolValueChanged(boolean newValue) { public void onBoolValueChanged(boolean newValue) {
mPrefs.enableAutoAnswer(newValue); mPrefs.enableAutoAnswer(newValue);
mAutoAnswerTime.setEnabled(mPrefs.isAutoAnswerEnabled()); mAutoAnswerTime.setVisibility(
mPrefs.isAutoAnswerEnabled() ? View.VISIBLE : View.GONE);
} }
}); });
@ -206,7 +207,7 @@ public class CallSettingsFragment extends Fragment {
mMediaEncryption.setValue(mPrefs.getMediaEncryption().toInt()); mMediaEncryption.setValue(mPrefs.getMediaEncryption().toInt());
mAutoAnswerTime.setValue(mPrefs.getAutoAnswerTime()); mAutoAnswerTime.setValue(mPrefs.getAutoAnswerTime());
mAutoAnswerTime.setEnabled(mPrefs.isAutoAnswerEnabled()); mAutoAnswerTime.setVisibility(mPrefs.isAutoAnswerEnabled() ? View.VISIBLE : View.GONE);
mIncomingCallTimeout.setValue(mPrefs.getIncTimeout()); mIncomingCallTimeout.setValue(mPrefs.getIncTimeout());

View file

@ -137,7 +137,8 @@ public class NetworkSettingsFragment extends Fragment {
@Override @Override
public void onBoolValueChanged(boolean newValue) { public void onBoolValueChanged(boolean newValue) {
mPrefs.useRandomPort(newValue); mPrefs.useRandomPort(newValue);
mSipPort.setEnabled(!mPrefs.isUsingRandomPort()); mSipPort.setVisibility(
mPrefs.isUsingRandomPort() ? View.GONE : View.VISIBLE);
} }
}); });
@ -236,7 +237,7 @@ public class NetworkSettingsFragment extends Fragment {
mTurn.setEnabled(mPrefs.getStunServer() != null && !mPrefs.getStunServer().isEmpty()); mTurn.setEnabled(mPrefs.getStunServer() != null && !mPrefs.getStunServer().isEmpty());
mSipPort.setValue(mPrefs.getSipPort()); mSipPort.setValue(mPrefs.getSipPort());
mSipPort.setEnabled(!mPrefs.isUsingRandomPort()); mSipPort.setVisibility(mPrefs.isUsingRandomPort() ? View.GONE : View.VISIBLE);
mStunServer.setValue(mPrefs.getStunServer()); mStunServer.setValue(mPrefs.getStunServer());

View file

@ -147,8 +147,9 @@ public class VideoSettingsFragment extends Fragment {
@Override @Override
public void onListValueChanged(int position, String newLabel, String newValue) { public void onListValueChanged(int position, String newLabel, String newValue) {
mPrefs.setVideoPreset(newValue); mPrefs.setVideoPreset(newValue);
mFps.setEnabled(newValue.equals("custom")); mFps.setVisibility(newValue.equals("custom") ? View.VISIBLE : View.GONE);
mBandwidth.setEnabled(newValue.equals("custom")); mBandwidth.setVisibility(
newValue.equals("custom") ? View.VISIBLE : View.GONE);
} }
}); });
@ -196,14 +197,15 @@ public class VideoSettingsFragment extends Fragment {
mOverlay.setChecked(mPrefs.isOverlayEnabled()); mOverlay.setChecked(mPrefs.isOverlayEnabled());
mBandwidth.setValue(mPrefs.getBandwidthLimit()); mBandwidth.setValue(mPrefs.getBandwidthLimit());
mBandwidth.setEnabled(mPrefs.getVideoPreset().equals("custom")); mBandwidth.setVisibility(
mPrefs.getVideoPreset().equals("custom") ? View.VISIBLE : View.GONE);
mPreset.setValue(mPrefs.getVideoPreset()); mPreset.setValue(mPrefs.getVideoPreset());
mSize.setValue(mPrefs.getPreferredVideoSize()); mSize.setValue(mPrefs.getPreferredVideoSize());
mFps.setValue(mPrefs.getPreferredVideoFps()); mFps.setValue(mPrefs.getPreferredVideoFps());
mFps.setEnabled(mPrefs.getVideoPreset().equals("custom")); mFps.setVisibility(mPrefs.getVideoPreset().equals("custom") ? View.VISIBLE : View.GONE);
populateVideoCodecs(); populateVideoCodecs();

View file

@ -39,6 +39,12 @@
linphone:subtitle="@string/pref_overlay_summary" linphone:subtitle="@string/pref_overlay_summary"
linphone:title="@string/pref_overlay" /> linphone:title="@string/pref_overlay" />
<org.linphone.settings.widget.ListSetting
android:id="@+id/pref_preferred_video_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
linphone:title="@string/pref_preferred_video_size" />
<org.linphone.settings.widget.ListSetting <org.linphone.settings.widget.ListSetting
android:id="@+id/pref_video_preset" android:id="@+id/pref_video_preset"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -47,12 +53,6 @@
linphone:list_items_values="@array/video_preset_entries" linphone:list_items_values="@array/video_preset_entries"
linphone:title="@string/pref_video_preset" /> linphone:title="@string/pref_video_preset" />
<org.linphone.settings.widget.ListSetting
android:id="@+id/pref_preferred_video_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
linphone:title="@string/pref_preferred_video_size" />
<org.linphone.settings.widget.ListSetting <org.linphone.settings.widget.ListSetting
android:id="@+id/pref_preferred_fps" android:id="@+id/pref_preferred_fps"
android:layout_width="match_parent" android:layout_width="match_parent"