diff --git a/app/build.gradle b/app/build.gradle
index ce04a26..dc1ce70 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,7 +11,7 @@ android {
minSdk 29
targetSdk 34
versionCode 1
- versionName "1.6.2"
+ versionName "1.6.3 beta"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -60,12 +60,10 @@ dependencies {
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.6.3'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
implementation 'com.github.yalantis:ucrop:2.2.8'
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
- implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragment:2.5.3'
implementation 'androidx.navigation:navigation-ui:2.5.3'
@@ -73,6 +71,4 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation 'jp.wasabeef:glide-transformations:4.3.0'
-
-
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index de5bee7..76d1485 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -100,13 +100,6 @@
-
-
-
-
-
@@ -116,7 +109,9 @@
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_filter" />
-
+
+
+
+
+
+
+
{
- use_party = textInputEditText.getText().toString();
-
+ if (!Objects.equals(use_party, "未加入")) {
if (status == 0) {
toolbar.setTitle(use_party + " 房间 " + use_name);
}else {
toolbar.setTitle(use_party + " 房间 " + use_name + " 正在队列");
}
- SharedPreferences.Editor editor = sharedPreferences.edit();
- editor.putString("use_party", use_party);
- editor.apply();
- getData();
- });
- builder.setNegativeButton("取消", null);
- builder.show();
- }else if (status == 0 && intent.getStringExtra("data") == null) {
+ }else {
+ use_party = sharedPreferences.getString("use_party", "");
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this);
+ builder.setTitle("重新进入房间");
+ builder.setMessage("重新进入房间号?");
+ TextInputEditText textInputEditText = new TextInputEditText(this);
+ builder.setView(textInputEditText);
+ textInputEditText.setText(use_party);
+ builder.setPositiveButton("确定", (dialog, which) -> {
+ use_party = textInputEditText.getText().toString();
+
+ if (status == 0) {
+ toolbar.setTitle(use_party + " 房间 " + use_name);
+ } else {
+ toolbar.setTitle(use_party + " 房间 " + use_name + " 正在队列");
+ }
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString("use_party", use_party);
+ editor.apply();
+ getData();
+ });
+ builder.setNegativeButton("取消", null);
+ builder.show();
+ }
+ }else if ((status == 0) && (isNfc ==0)) {
//询问加入房价
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle("进入房间");
@@ -163,7 +185,62 @@ public class PaikaActivity extends AppCompatActivity {
}
});
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if (nfcAdapter != null) {
+ nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);
+ }
+ }
+ @Override
+ protected void onPause() {
+ super.onPause();
+ if (nfcAdapter != null) {
+ nfcAdapter.disableForegroundDispatch(this);
+ }
+ }
+
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ processNfcIntent(intent);
+ }
+
+ private void processNfcIntent(Intent intent) {
+ Log.d("Paika123456", "123456");
+ if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
+ // 获取 NDEF 消息
+ Parcelable[] rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
+ if (rawMessages != null) {
+ Log.d("Paika123456", "123");
+
+ for (Parcelable rawMessage : rawMessages) {
+ NdefMessage message = (NdefMessage) rawMessage;
+ for (NdefRecord record : message.getRecords()) {
+ // 检查是否是 URI 类型的记录
+ if (record.getTnf() == NdefRecord.TNF_WELL_KNOWN) {
+ String uri = parseUriFromNdefRecord(record);
+ use_party = uri.split("paika")[1];
+ isNfc = 1;
+ }
+ }
+ }
+ }
+ }
+ }
+ private String parseUriFromNdefRecord(NdefRecord record) {
+ try {
+ byte[] payload = record.getPayload();
+ if (payload != null && payload.length > 0) {
+ // 跳过第一个字节 (URI 标识符码)
+ return new String(payload, 1, payload.length - 1, StandardCharsets.UTF_8);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
private void doUPlay() {
// 使用 MaterialAlertDialogBuilder 创建弹窗
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this);
@@ -199,10 +276,13 @@ public class PaikaActivity extends AppCompatActivity {
break;
}
}
- if (num.get() == 2 || num.get() == 3) {
+ if (num.get() == 2) {
Log.d("UPlayDialog", "上机 clicked");
+
play();
- } else if (num.get() == 1 || num.get() ==0) {
+ } else if (num.get() == 3) {
+ play3();
+ }else if (num.get() == 1 || num.get() ==0) {
Snackbar.make(v, "正在上机!", Snackbar.LENGTH_SHORT)
.setAction("确定", null)
.show();
@@ -274,10 +354,16 @@ public class PaikaActivity extends AppCompatActivity {
editor.putString("use_party", "");
editor.commit();
- remove();
+ unplay();
Intent intent = new Intent(PaikaActivity.this, MainActivity.class);
startActivity(intent);
});
+ MaterialButton qrscan = dialogView.findViewById(R.id.qrscan);
+ qrscan.setOnClickListener(v -> {
+ //扫描二维码,读取为use_party;
+ qrScan();
+ });
+
builder.setView(dialogView);
builder.show();
@@ -285,12 +371,50 @@ public class PaikaActivity extends AppCompatActivity {
private Runnable refreshTask = new Runnable() {
@Override
public void run() {
- if (!use_party.isEmpty()) {
- getData(); // 调用刷新方法
+ try {
+ if (!use_party.isEmpty()) {
+ getData(); // 调用刷新方法
+ }
+ handler.postDelayed(this, 3000); // 每隔 2 秒执行一次
+ }catch (Exception e) {
+
}
- handler.postDelayed(this, 3000); // 每隔 2 秒执行一次
+
}
};
+ private final ActivityResultLauncher qrScanLauncher = registerForActivityResult(
+ new ScanContract(),
+ result -> {
+ if (result.getContents() != null) {
+ // 获取扫描结果并赋值给 use_party
+ use_party = result.getContents();
+ Log.d("QRScan", "Scanned use_party: " + use_party);
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString("use_party", use_party);
+ editor.commit();
+ // 更新 UI 或执行其他逻辑
+ toolbar.setTitle(use_party + " 房间 " + use_name);
+ getData(); // 刷新数据
+ } else {
+ Log.d("QRScan", "Scan cancelled");
+ Snackbar.make(findViewById(R.id.back), "扫描取消", Snackbar.LENGTH_SHORT)
+ .setAction("确定", null).show();
+ }
+ }
+ );
+
+ // 定义 qrScan 方法
+ private void qrScan() {
+ ScanOptions options = new ScanOptions();
+ options.setPrompt("将二维码放入框内扫描"); // 设置提示信息
+ options.setOrientationLocked(true); // 锁定屏幕方向为竖屏
+ options.setBeepEnabled(true); // 扫描成功时播放提示音
+ options.setCaptureActivity(PortraitCaptureActivity.class); // 使用自定义的 CaptureActivity
+ options.setTimeout(5000); // 设置超时时间
+ qrScanLauncher.launch(options); // 启动扫描
+ }
+
+
private void getData() {
Request request = new Request.Builder()
.url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party)
@@ -315,6 +439,11 @@ public class PaikaActivity extends AppCompatActivity {
Log.d("123456", "getData");
}
private void join() {
+ if (players.contains(use_name + "()" + iconId)) {
+ Snackbar.make(findViewById(R.id.back), "您已经加入该房间", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ return;
+ }
Request request = new Request.Builder()
.url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconId)
.post(RequestBody.create("", MediaType.parse("application/json")))
@@ -378,11 +507,25 @@ public class PaikaActivity extends AppCompatActivity {
}
});
}
+ private void play3() {
+ String changTo = players.get(2);
+ change(changTo,1);
+
+ }
private void unplay() {
+ remove();
+ status = 0;
+ use_party = "";
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putInt("paikastatus", status);
+ editor.putString("use_party", "");
+ editor.commit();
}
private void addDataToTableLayout() {
Context context = this;
-
+ if (players.isEmpty()) {
+ return;
+ }
handler.post(new Runnable() {
@Override
public void run() {
@@ -390,102 +533,69 @@ public class PaikaActivity extends AppCompatActivity {
//清空
tableLayout.removeAllViews();
try {
+ if (players.size() == 0) {
+ Glide.with(context)
+ .load("https://assets2.lxns.net/maimai/icon/0.png")
+ .into(player1Avatar);
+ player1Name.setText("等待玩家");
+ return;
+ }
+ if (players.size() == 1) {
+ Glide.with(context)
+ .load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(0).split("\\(\\)")[1]) +".png")
+ .into(player1Avatar);
+ player1Name.setText(players.get(0).split("\\(\\)")[0]);
+ return;
+ }
+
Glide.with(context)
.load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(0).split("\\(\\)")[1]) +".png")
.into(player1Avatar);
Glide.with(context)
.load("https://assets2.lxns.net/maimai/icon/" + Integer.parseInt(players.get(1).split("\\(\\)")[1]) +".png")
.into(player2Avatar);
- }catch (Exception e) {
- e.printStackTrace();
- }
+ player1Name.setText(players.get(0).split("\\(\\)")[0]);
+ player2Name.setText(players.get(1).split("\\(\\)")[0]);
- player1Name.setText(players.get(0).split("\\(\\)")[0]);
- player2Name.setText(players.get(1).split("\\(\\)")[0]);
+ for (int i = 2; i < players.size(); i++) {
+ String name = players.get(i).split("\\(\\)")[0];
+ int iconId = Integer.parseInt(players.get(i).split("\\(\\)")[1]);
+ TableRow tableRow = (TableRow) LayoutInflater.from(context).inflate(R.layout.table_row_item, tableLayout, false);
+ int finalI = i;
+ ImageView userAvatar = tableRow.findViewById(R.id.userAvatar);
+ try {
+ Glide.with(context)
+ .load("https://assets2.lxns.net/maimai/icon/" + iconId +".png")
+ .into(userAvatar);
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
- for (int i = 2; i < players.size(); i++) {
- String name = players.get(i).split("\\(\\)")[0];
- int iconId = Integer.parseInt(players.get(i).split("\\(\\)")[1]);
- TableRow tableRow = (TableRow) LayoutInflater.from(context).inflate(R.layout.table_row_item, tableLayout, false);
- int finalI = i;
- ImageView userAvatar = tableRow.findViewById(R.id.userAvatar);
- try {
- Glide.with(context)
- .load("https://assets2.lxns.net/maimai/icon/" + iconId +".png")
- .into(userAvatar);
- }catch (Exception e) {
- e.printStackTrace();
- }
+ TextView username = tableRow.findViewById(R.id.username);
+ username.setText(name);
+ tableLayout.addView(tableRow);
- TextView username = tableRow.findViewById(R.id.username);
- username.setText(name);
- tableLayout.addView(tableRow);
+ tableRow.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
+ builder.setTitle("操作");
+ View view = LayoutInflater.from(context).inflate(R.layout.paika_item_dialog, null);
+ builder.setView(view);
+ MaterialButton change = view.findViewById(R.id.change);
+ change.setText("插队");
+ MaterialButton removeButton = view.findViewById(R.id.removeButton);
+ removeButton.setText("移除");
+ MaterialButton fuzhushangji = view.findViewById(R.id.fuzhushangji);
+ fuzhushangji.setText("辅助上机");
- tableRow.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
- builder.setTitle("操作");
- View view = LayoutInflater.from(context).inflate(R.layout.paika_item_dialog, null);
- builder.setView(view);
- MaterialButton change = view.findViewById(R.id.change);
- change.setText("插队");
- MaterialButton removeButton = view.findViewById(R.id.removeButton);
- removeButton.setText("移除");
- MaterialButton fuzhushangji = view.findViewById(R.id.fuzhushangji);
- fuzhushangji.setText("辅助上机");
-
- change.setOnClickListener(v2->{
- Request request = new Request.Builder()
- .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + players.get(finalI))
- .put(RequestBody.create("", MediaType.parse("application/json")))
- .build();
- OkHttpClient client = new OkHttpClient();
- Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + players.get(finalI));
- client.newCall(request).enqueue(new Callback() {
- @Override
- public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
- if (response.isSuccessful()) {
- getData();
- Log.d("123456", "onResponse: " + response.body().string());
- Snackbar.make(findViewById(R.id.back), "换位成功", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- }
-
- @Override
- public void onFailure(@NotNull Call call, @NotNull IOException e) {
-
- }
+ change.setOnClickListener(v2->{
+ change(players.get(finalI));
});
- });
- removeButton.setOnClickListener(v2->{
- Request request = new Request.Builder()
- .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" +players.get(finalI))
- .delete(RequestBody.create("", MediaType.parse("application/json")))
- .build();
- OkHttpClient client = new OkHttpClient();
- client.newCall(request).enqueue(new Callback() {
- @Override
- public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
- if (response.isSuccessful()) {
- getData();
- Snackbar.make(findViewById(R.id.back), "移除成功", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- }
-
- @Override
- public void onFailure(@NotNull Call call, @NotNull IOException e) {
-
- }
- });
- });
- fuzhushangji.setOnClickListener(v2->{
- if (finalI == 2 ) {
+ removeButton.setOnClickListener(v2->{
Request request = new Request.Builder()
- .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party )
- .post(RequestBody.create("", MediaType.parse("application/json")))
+ .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" +players.get(finalI))
+ .delete(RequestBody.create("", MediaType.parse("application/json")))
.build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@@ -493,40 +603,132 @@ public class PaikaActivity extends AppCompatActivity {
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
if (response.isSuccessful()) {
getData();
- Snackbar.make(findViewById(R.id.back), "辅助上机成功", Snackbar.LENGTH_LONG)
+ Snackbar.make(findViewById(R.id.back), "移除成功", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
}
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
- Log.d("123456", "onFailure: " + e);
+
}
});
- }else {
- Snackbar.make(findViewById(R.id.back), "辅助上机失败,位置不满足要求", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
+ });
+ fuzhushangji.setOnClickListener(v2->{
+ if (finalI == 2 ) {
+ Request request = new Request.Builder()
+ .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party )
+ .post(RequestBody.create("", MediaType.parse("application/json")))
+ .build();
+ OkHttpClient client = new OkHttpClient();
+ client.newCall(request).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ if (response.isSuccessful()) {
+ getData();
+ Snackbar.make(findViewById(R.id.back), "辅助上机成功", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ }
+ }
- });
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ Log.d("123456", "onFailure: " + e);
+ }
+ });
+ }else {
+ Snackbar.make(findViewById(R.id.back), "辅助上机失败,位置不满足要求", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ }
- builder.show();
+ });
+
+ builder.show();
+ }
+ });
+ // 添加分割线
+ if (finalI < players.size() - 1) {
+ View separator = new View(context);
+ separator.setLayoutParams(new TableLayout.LayoutParams(
+ TableLayout.LayoutParams.MATCH_PARENT,
+ 1
+ ));
+ separator.setBackgroundColor(ContextCompat.getColor(context, R.color.dividerColor));
+ tableLayout.addView(separator);
}
- });
- // 添加分割线
- if (finalI < players.size() - 1) {
- View separator = new View(context);
- separator.setLayoutParams(new TableLayout.LayoutParams(
- TableLayout.LayoutParams.MATCH_PARENT,
- 1
- ));
- separator.setBackgroundColor(ContextCompat.getColor(context, R.color.dividerColor));
- tableLayout.addView(separator);
}
+ }catch (Exception e) {
+ e.printStackTrace();
}
+
+
}
});
}
+
+ private void change(String to) {
+ Request request = new Request.Builder()
+ .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to)
+ .put(RequestBody.create("", MediaType.parse("application/json")))
+ .build();
+ OkHttpClient client = new OkHttpClient();
+ Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to);
+ client.newCall(request).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ if (response.isSuccessful()) {
+ getData();
+ Log.d("123456", "onResponse: " + response.body().string());
+ Snackbar.make(findViewById(R.id.back), "换位成功", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+
+ }
+ });
+ }
+ private void change(String to,int type) {
+ Request request = new Request.Builder()
+ .url("http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to)
+ .put(RequestBody.create("", MediaType.parse("application/json")))
+ .build();
+ OkHttpClient client = new OkHttpClient();
+ Log.d("123456", "http://mai.godserver.cn:11451/api/mai/v1/party?party=" + use_party + "&people=" + use_name + "()" + iconResId + "&changeToPeople=" + to);
+ client.newCall(request).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ if (response.isSuccessful()) {
+ Request request = new Request.Builder()
+ .url("http://mai.godserver.cn:11451/api/mai/v1/partyPlay?party=" + use_party )
+ .post(RequestBody.create("", MediaType.parse("application/json")))
+ .build();
+ OkHttpClient client = new OkHttpClient();
+ client.newCall(request).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ Snackbar.make(findViewById(R.id.back), "上机成功!", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ getData();
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+
+ }
+ });
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+
+ }
+ });
+ }
+
// 用户类
private static class User {
private String name;
diff --git a/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java b/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java
new file mode 100644
index 0000000..73c0b02
--- /dev/null
+++ b/app/src/main/java/org/astral/findmaimaiultra/ui/PortraitCaptureActivity.java
@@ -0,0 +1,14 @@
+package org.astral.findmaimaiultra.ui;
+
+import android.content.pm.ActivityInfo;
+import android.os.Bundle;
+import com.journeyapps.barcodescanner.CaptureActivity;
+
+public class PortraitCaptureActivity extends CaptureActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // 强制设置为竖屏
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ }
+}
diff --git a/app/src/main/res/####values-night/colors.xml b/app/src/main/res/####values-night/colors.xml
deleted file mode 100644
index 5fe2644..0000000
--- a/app/src/main/res/####values-night/colors.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
- #673AB7
- #673AB7
- #FF3700B3
- #045D53
- #673AB7
- #FFFFFF
-
- #FF018786
- #8A8282
- #FFFFFFFF
- #673AB7
- #673AB7
- #673AB7
- #3F51B5
- #212121
- #727272
- #FFFFFF
- #B6B6B6
- #673AB7
- #673AB7
- #141313
- #045D53
- #018786
- #000000
- #045D53
- #C2F6C4
- #FFFFFF
- #F44336
-
\ No newline at end of file
diff --git a/app/src/main/res/111values-night/colors.xml b/app/src/main/res/111values-night/colors.xml
new file mode 100644
index 0000000..f0def98
--- /dev/null
+++ b/app/src/main/res/111values-night/colors.xml
@@ -0,0 +1,36 @@
+
+
+ #D5C4ED
+ #D5C4ED
+ #D5C4ED
+ #D5C4ED
+ #D5C4ED
+
+ #D5C4ED
+ #8A8282
+ #FFFFFFFF
+ #D5C4ED
+ #D5C4ED
+ #D1C4E9
+ #D5C4ED
+ #8C8181
+ #727272
+ #FFFFFF
+ #B6B6B6
+ #D5C4ED
+ #D5C4ED
+ #FFFFFF
+ #D5C4ED
+ #D5C4ED
+ #000000
+ #1DF687
+ #C2F6C4
+ #D5C4ED
+ #000000
+ #FFFFFF
+
+ #F44336
+ #FF9189
+
+ #7D7D7D
+
\ No newline at end of file
diff --git a/app/src/main/res/####values-night/styles.xml b/app/src/main/res/111values-night/styles.xml
similarity index 100%
rename from app/src/main/res/####values-night/styles.xml
rename to app/src/main/res/111values-night/styles.xml
diff --git a/app/src/main/res/####values-night/themes.xml b/app/src/main/res/111values-night/themes.xml
similarity index 100%
rename from app/src/main/res/####values-night/themes.xml
rename to app/src/main/res/111values-night/themes.xml
diff --git a/app/src/main/res/layout/paika_dialog.xml b/app/src/main/res/layout/paika_dialog.xml
index 69b74de..00356d5 100644
--- a/app/src/main/res/layout/paika_dialog.xml
+++ b/app/src/main/res/layout/paika_dialog.xml
@@ -47,4 +47,13 @@
android:textColor="@color/white"
app:backgroundTint="@color/colorPrimary"
tools:ignore="MissingConstraints"/>
+
+
diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml
index 40b8f3f..8061b36 100644
--- a/app/src/main/res/menu/main.xml
+++ b/app/src/main/res/menu/main.xml
@@ -1,6 +1,6 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index a341925..f0def98 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -13,7 +13,7 @@
#D5C4ED
#D1C4E9
#D5C4ED
- #212121
+ #8C8181
#727272
#FFFFFF
#B6B6B6
@@ -27,6 +27,7 @@
#C2F6C4
#D5C4ED
#000000
+ #FFFFFF
#F44336
#FF9189
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 3dbf0b4..c0ebf61 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -18,4 +18,7 @@
+
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index d6df388..e2ed3a3 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -12,10 +12,14 @@
- ?attr/colorPrimaryVariant
+ - @style/MenuBackgroundStyle
+
@@ -31,6 +35,8 @@
- @color/black
- ?attr/colorPrimaryVariant
+ - @style/MenuBackgroundStyle
+
\ No newline at end of file