Inline hide pro banner

pull/213/head
M66B 1 year ago
parent 97aab8b8a5
commit 8d4f396757

@ -251,7 +251,8 @@ public class FragmentMessages extends FragmentBase
private TextView tvAirplane; private TextView tvAirplane;
private TextView tvNotifications; private TextView tvNotifications;
private TextView tvBatteryOptimizations; private TextView tvBatteryOptimizations;
private TextView tvSupport; private TextView tvHintPro;
private ImageButton ibHintPro;
private ImageButton ibHintSupport; private ImageButton ibHintSupport;
private ImageButton ibHintSwipe; private ImageButton ibHintSwipe;
private ImageButton ibHintSelect; private ImageButton ibHintSelect;
@ -275,7 +276,7 @@ public class FragmentMessages extends FragmentBase
private Group grpAirplane; private Group grpAirplane;
private Group grpNotifications; private Group grpNotifications;
private Group grpBatteryOptimizations; private Group grpBatteryOptimizations;
private Group grpSupport; private Group grpPro;
private Group grpHintSupport; private Group grpHintSupport;
private Group grpHintSwipe; private Group grpHintSwipe;
private Group grpHintSelect; private Group grpHintSelect;
@ -557,7 +558,8 @@ public class FragmentMessages extends FragmentBase
tvAirplane = view.findViewById(R.id.tvAirplane); tvAirplane = view.findViewById(R.id.tvAirplane);
tvNotifications = view.findViewById(R.id.tvNotifications); tvNotifications = view.findViewById(R.id.tvNotifications);
tvBatteryOptimizations = view.findViewById(R.id.tvBatteryOptimizations); tvBatteryOptimizations = view.findViewById(R.id.tvBatteryOptimizations);
tvSupport = view.findViewById(R.id.tvSupport); tvHintPro = view.findViewById(R.id.tvHintPro);
ibHintPro = view.findViewById(R.id.ibHintPro);
ibHintSupport = view.findViewById(R.id.ibHintSupport); ibHintSupport = view.findViewById(R.id.ibHintSupport);
ibHintSwipe = view.findViewById(R.id.ibHintSwipe); ibHintSwipe = view.findViewById(R.id.ibHintSwipe);
ibHintSelect = view.findViewById(R.id.ibHintSelect); ibHintSelect = view.findViewById(R.id.ibHintSelect);
@ -582,7 +584,7 @@ public class FragmentMessages extends FragmentBase
grpAirplane = view.findViewById(R.id.grpAirplane); grpAirplane = view.findViewById(R.id.grpAirplane);
grpNotifications = view.findViewById(R.id.grpNotifications); grpNotifications = view.findViewById(R.id.grpNotifications);
grpBatteryOptimizations = view.findViewById(R.id.grpBatteryOptimizations); grpBatteryOptimizations = view.findViewById(R.id.grpBatteryOptimizations);
grpSupport = view.findViewById(R.id.grpSupport); grpPro = view.findViewById(R.id.grpPro);
grpHintSupport = view.findViewById(R.id.grpHintSupport); grpHintSupport = view.findViewById(R.id.grpHintSupport);
grpHintSwipe = view.findViewById(R.id.grpHintSwipe); grpHintSwipe = view.findViewById(R.id.grpHintSwipe);
grpHintSelect = view.findViewById(R.id.grpHintSelect); grpHintSelect = view.findViewById(R.id.grpHintSelect);
@ -657,11 +659,20 @@ public class FragmentMessages extends FragmentBase
} }
}); });
grpSupport.setVisibility(View.GONE); grpPro.setVisibility(View.GONE);
tvSupport.setOnClickListener(new View.OnClickListener() { tvHintPro.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
startActivity(new Intent(getContext(), ActivityBilling.class)); startActivity(new Intent(v.getContext(), ActivityBilling.class));
}
});
ibHintPro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long banner_hidden = new Date().getTime() + FragmentPro.HIDE_BANNER * 7 * 24 * 3600 * 1000L;
prefs.edit().putLong("banner_hidden", banner_hidden).apply();
startActivity(new Intent(v.getContext(), ActivityBilling.class));
} }
}); });
@ -5147,11 +5158,11 @@ public class FragmentMessages extends FragmentBase
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (grpSupport != null && if (grpPro != null &&
("pro".equals(key) || "banner_hidden".equals(key))) { ("pro".equals(key) || "banner_hidden".equals(key))) {
boolean pro = ActivityBilling.isPro(getContext()); boolean pro = ActivityBilling.isPro(getContext());
long banner_hidden = prefs.getLong("banner_hidden", 0); long banner_hidden = prefs.getLong("banner_hidden", 0);
grpSupport.setVisibility( grpPro.setVisibility(
!pro && banner_hidden == 0 && viewType == AdapterMessage.ViewType.UNIFIED !pro && banner_hidden == 0 && viewType == AdapterMessage.ViewType.UNIFIED
? View.VISIBLE : View.GONE); ? View.VISIBLE : View.GONE);
} }

@ -68,7 +68,7 @@ public class FragmentPro extends FragmentBase implements SharedPreferences.OnSha
private Button btnConsume; private Button btnConsume;
private ImageView ivConnected; private ImageView ivConnected;
private static final int HIDE_BANNER = 4; // weeks static final int HIDE_BANNER = 4; // weeks
@Override @Override
@Nullable @Nullable

@ -92,24 +92,37 @@
app:layout_constraintTop_toBottomOf="@id/tvBatteryOptimizations" /> app:layout_constraintTop_toBottomOf="@id/tvBatteryOptimizations" />
<TextView <TextView
android:id="@+id/tvSupport" android:id="@+id/tvHintPro"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:gravity="center_vertical"
android:minHeight="36dp"
android:padding="6dp" android:padding="6dp"
android:text="@string/title_pro_support" android:text="@string/title_pro_support"
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toStartOf="@+id/ibHintPro"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/vSeparatorBatteryOptimizations" /> app:layout_constraintTop_toBottomOf="@+id/vSeparatorBatteryOptimizations" />
<ImageButton
android:id="@+id/ibHintPro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_legend_close_hint"
android:padding="9dp"
app:layout_constraintBottom_toBottomOf="@id/tvHintPro"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tvHintPro"
app:srcCompat="@drawable/twotone_close_24" />
<View <View
android:id="@+id/vSeparatorSupport" android:id="@+id/vSeparatorSupport"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="?attr/colorSeparator" android:background="?attr/colorSeparator"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSupport" /> app:layout_constraintTop_toBottomOf="@id/tvHintPro" />
<TextView <TextView
android:id="@+id/tvHintSupport" android:id="@+id/tvHintSupport"
@ -497,10 +510,10 @@
app:constraint_referenced_ids="tvBatteryOptimizations,vSeparatorBatteryOptimizations" /> app:constraint_referenced_ids="tvBatteryOptimizations,vSeparatorBatteryOptimizations" />
<androidx.constraintlayout.widget.Group <androidx.constraintlayout.widget.Group
android:id="@+id/grpSupport" android:id="@+id/grpPro"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:constraint_referenced_ids="tvSupport,vSeparatorSupport" /> app:constraint_referenced_ids="tvHintPro,ibHintPro,vSeparatorSupport" />
<androidx.constraintlayout.widget.Group <androidx.constraintlayout.widget.Group
android:id="@+id/grpHintSupport" android:id="@+id/grpHintSupport"

Loading…
Cancel
Save