Skip to content

Commit ee1e0c2

Browse files
committed
upgrade setting activity
1 parent 4d9c2fe commit ee1e0c2

6 files changed

Lines changed: 168 additions & 1 deletion

File tree

app/src/localeMv/res/values-fr/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,4 +487,7 @@
487487
<string name="DeleteInsuree">Êtes-vous sûre de vouloir supprimer cet assuré ?</string>
488488
<string name="DeletePolicy">Êtes-vous sûre de vouloir supprimer cette police ?</string>
489489
<string name="Close">Fermer</string>
490+
<string name="ChangeRarPassword">Changer le mot de passe RAR</string>
491+
<string name="PasswordChanged">Mot de passe changé avec succès</string>
492+
<string name="ResetRarPwd">Le mot de passe RAR par défaut a été défini</string>
490493
</resources>

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
android:theme="@style/AppTheme"
4949
tools:ignore="GoogleAppIndexingWarning"
5050
tools:replace="android:icon,android:label">
51+
<activity
52+
android:name=".SettingsActivity"
53+
android:exported="false" />
5154
<activity
5255
android:name=".SearchActivity"
5356
android:exported="false" />

app/src/main/java/org/openimis/imispolicies/MainActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,9 @@ public boolean onNavigationItemSelected(MenuItem item) {
751751
Intent intent = new Intent(this, AboutActivity.class);
752752
startActivity(intent);
753753
} else if (id == R.id.nav_settings) {
754-
wv.loadUrl("file:///android_asset/pages/Settings.html");
754+
//wv.loadUrl("file:///android_asset/pages/Settings.html");
755+
Intent intent = new Intent(this, SettingsActivity.class);
756+
startActivity(intent);
755757
} else if (id == R.id.nav_quit) {
756758
new AlertDialog.Builder(this)
757759
.setMessage(getResources().getString(R.string.QuitAppQuestion))
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package org.openimis.imispolicies;
2+
3+
import android.os.Bundle;
4+
import android.view.MenuItem;
5+
import android.view.View;
6+
import android.widget.EditText;
7+
import android.widget.Toast;
8+
9+
import androidx.activity.EdgeToEdge;
10+
import androidx.annotation.NonNull;
11+
import androidx.appcompat.app.AlertDialog;
12+
import androidx.appcompat.app.AppCompatActivity;
13+
import androidx.core.graphics.Insets;
14+
import androidx.core.view.ViewCompat;
15+
import androidx.core.view.WindowInsetsCompat;
16+
17+
import com.google.android.material.button.MaterialButton;
18+
19+
public class SettingsActivity extends AppCompatActivity {
20+
21+
MaterialButton btn_change_rar_pwd, btn_rar_pass_default, btn_export_logs, btn_clear_logs;
22+
ClientAndroidInterface ca;
23+
@Override
24+
protected void onCreate(Bundle savedInstanceState) {
25+
super.onCreate(savedInstanceState);
26+
setContentView(R.layout.activity_settings);
27+
setTitle(R.string.action_settings);
28+
if (getSupportActionBar() != null) {
29+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
30+
}
31+
ca = new ClientAndroidInterface(this);
32+
initViews();
33+
setupListenners();
34+
}
35+
36+
@Override
37+
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
38+
if (item.getItemId() == android.R.id.home) {
39+
finish();
40+
return true;
41+
}
42+
return super.onOptionsItemSelected(item);
43+
}
44+
45+
private void initViews(){
46+
btn_change_rar_pwd = findViewById(R.id.btn_change_rar_pwd);
47+
btn_rar_pass_default = findViewById(R.id.btn_rar_pass_default);
48+
btn_export_logs = findViewById(R.id.btn_export_logs);
49+
btn_clear_logs = findViewById(R.id.btn_clear_logs);
50+
51+
if(ca.isLoggingEnabled()){
52+
btn_export_logs.setVisibility(View.VISIBLE);
53+
btn_clear_logs.setVisibility(View.VISIBLE);
54+
}else{
55+
btn_export_logs.setVisibility(View.GONE);
56+
btn_clear_logs.setVisibility(View.GONE);
57+
}
58+
}
59+
60+
private void setupListenners() {
61+
btn_change_rar_pwd.setOnClickListener(v -> {
62+
AlertDialog.Builder builder = new AlertDialog.Builder(this);
63+
builder.setTitle(getResources().getString(R.string.ChangeRarPassword));
64+
65+
final EditText input = new EditText(this);
66+
input.setHint(getResources().getString(R.string.EnterRarPassword));
67+
builder.setView(input);
68+
69+
builder.setPositiveButton(getResources().getString(R.string.Save), (dialogInterface, which) -> {
70+
71+
});
72+
73+
builder.setNegativeButton(getResources().getString(R.string.Cancel), (dialogInterface, which) -> {
74+
dialogInterface.cancel();
75+
});
76+
77+
AlertDialog dialog = builder.create();
78+
dialog.setCancelable(false);
79+
dialog.setCanceledOnTouchOutside(false);
80+
dialog.show();
81+
82+
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(b -> {
83+
String text = input.getText().toString().trim();
84+
if (text.isEmpty()) {
85+
Toast.makeText(this, getResources().getString(R.string.EnterRarPassword), Toast.LENGTH_SHORT).show();
86+
} else {
87+
ca.SaveRarPassword(text);
88+
ca.ShowDialog(getResources().getString(R.string.PasswordChanged));
89+
dialog.dismiss();
90+
}
91+
});
92+
93+
});
94+
95+
btn_rar_pass_default.setOnClickListener(v -> {
96+
try {
97+
ca.BackToDefaultRarPassword();
98+
ca.ShowDialog(getResources().getString(R.string.ResetRarPwd));
99+
} catch (Exception e) {
100+
ca.ShowDialog(e.getMessage());
101+
}
102+
});
103+
104+
btn_export_logs.setOnClickListener(v -> {
105+
ca.exportLogs();
106+
});
107+
108+
btn_clear_logs.setOnClickListener(v -> {
109+
ca.clearLogs();
110+
});
111+
}
112+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:layout_width="match_parent"
4+
android:layout_height="match_parent"
5+
android:orientation="vertical"
6+
android:paddingVertical="8dp">
7+
8+
<com.google.android.material.button.MaterialButton
9+
android:id="@+id/btn_change_rar_pwd"
10+
android:layout_width="match_parent"
11+
android:layout_height="60dp"
12+
android:backgroundTint="@color/white"
13+
android:textColor="@color/black"
14+
android:textAlignment="textStart"
15+
android:text="@string/ChangeRarPassword" />
16+
17+
<com.google.android.material.button.MaterialButton
18+
android:id="@+id/btn_rar_pass_default"
19+
android:layout_width="match_parent"
20+
android:layout_height="60dp"
21+
android:backgroundTint="@color/white"
22+
android:textColor="@color/black"
23+
android:textAlignment="textStart"
24+
android:text="@string/BackToDefaultPassword" />
25+
26+
<com.google.android.material.button.MaterialButton
27+
android:id="@+id/btn_export_logs"
28+
android:layout_width="match_parent"
29+
android:layout_height="60dp"
30+
android:backgroundTint="@color/white"
31+
android:textColor="@color/black"
32+
android:textAlignment="textStart"
33+
android:text="@string/ExportLogs" />
34+
35+
<com.google.android.material.button.MaterialButton
36+
android:id="@+id/btn_clear_logs"
37+
android:layout_width="match_parent"
38+
android:layout_height="60dp"
39+
android:backgroundTint="@color/white"
40+
android:textColor="@color/black"
41+
android:textAlignment="textStart"
42+
android:text="@string/ClearLogs" />
43+
44+
</LinearLayout>

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,4 +486,7 @@
486486
<string name="Empty">Empty</string>
487487
<string name="tapToUpload">Tap to change photo</string>
488488
<string name="SelectBirthDate">Select birth date</string>
489+
<string name="ChangeRarPassword">Change RAR Password</string>
490+
<string name="PasswordChanged">Password changed</string>
491+
<string name="ResetRarPwd">Password has been changed to the default rar password</string>
489492
</resources>

0 commit comments

Comments
 (0)