aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/MainActivity.java68
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/Updater.java73
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/AboutFragment.java (renamed from app/src/main/java/me/brysonsteck/wiimmfiwatcher/AboutFragment.java)5
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeAdapter.java (renamed from app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeAdapter.java)3
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeFragment.java (renamed from app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeFragment.java)3
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/Player.java22
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java2
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/WiimmfiActivity.java4
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomAdapter.java (renamed from app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomAdapter.java)5
-rw-r--r--app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomFragment.java (renamed from app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java)8
-rw-r--r--app/src/main/res/values-de/strings.xml4
-rw-r--r--app/src/main/res/values-es/strings.xml4
-rw-r--r--app/src/main/res/values-fr/strings.xml4
-rw-r--r--app/src/main/res/values-it/strings.xml4
-rw-r--r--app/src/main/res/values-ja/strings.xml4
-rw-r--r--app/src/main/res/values-ko/strings.xml4
-rw-r--r--app/src/main/res/values-pt/strings.xml4
-rw-r--r--app/src/main/res/values/strings.xml5
18 files changed, 197 insertions, 29 deletions
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/MainActivity.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/MainActivity.java
index 8084714..e98856b 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/MainActivity.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/MainActivity.java
@@ -1,20 +1,26 @@
package me.brysonsteck.wiimmfiwatcher;
-import android.os.Build;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
-import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import me.brysonsteck.wiimmfiwatcher.database.AppDatabase;
+import me.brysonsteck.wiimmfiwatcher.fragments.AboutFragment;
+import me.brysonsteck.wiimmfiwatcher.fragments.WatchCodeFragment;
public class MainActivity extends AppCompatActivity {
AppDatabase database;
+ final MaterialAlertDialogBuilder[] dialog = new MaterialAlertDialogBuilder[1];
+ boolean shownUpdate = false;
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -47,6 +53,62 @@ public class MainActivity extends AppCompatActivity {
});
}
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ final String[] newestRelease = {""};
+ final boolean[] outdated = {false};
+ Thread thread = new Thread() {
+ public void run() {
+ Updater updater = new Updater();
+ updater.compareRelease(BuildConfig.VERSION_NAME);
+ if (updater.isOutdated()) {
+ System.out.println("---------------------------------------------------------------");
+ System.out.println("\tA newer version of Wiimmfi Watcher is available! (" + updater.getNewestRelease() + ")");
+ System.out.println("\tView the release notes and the source code here: " + updater.getGithubRelease());
+ System.out.println("\t---------------------------------------------------------------");
+ } else {
+ System.out.println("---------------------------------------------------------------");
+ System.out.println("\t\t" + updater.getNewestRelease() + " is the latest release of Wiimmfi Watcher.");
+ System.out.println("\t\t---------------------------------------------------------------");
+ }
+ newestRelease[0] = updater.getNewestRelease();
+ outdated[0] = updater.isOutdated();
+ }
+ };
+ thread.start();
+ try {
+ thread.join();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ if (outdated[0] && !shownUpdate) {
+ shownUpdate = true;
+ final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
+ new MaterialAlertDialogBuilder(this)
+ .setTitle(R.string.update_title)
+ .setMessage(getResources().getString(R.string.update_message, newestRelease[0]))
+ .setNegativeButton(getResources().getString(R.string.update_negative), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ })
+ .setPositiveButton(getResources().getString(R.string.update_positive), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ try {
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
+ } catch (android.content.ActivityNotFoundException anfe) {
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
+ }
+ }
+ })
+ .show();
+ }
+
+ }
+
@Override
protected void onStop() {
super.onStop();
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/Updater.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/Updater.java
new file mode 100644
index 0000000..eb3e813
--- /dev/null
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/Updater.java
@@ -0,0 +1,73 @@
+package me.brysonsteck.wiimmfiwatcher;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class Updater {
+
+ public boolean outdated = false;
+ public String newestRelease;
+ public String githubRelease;
+ public String playStore = "https://play.google.com/store/apps/details?id=me.brysonsteck.wiimmfiwatcher";
+
+ public Updater() {
+ try {
+ String json = urlReader();
+ JsonElement root = new JsonParser().parse(json);
+ JsonObject rootObj = root.getAsJsonObject();
+ JsonElement softwareElement = rootObj.getAsJsonObject("wiimmfi-watcher");
+ JsonObject softwareObj = softwareElement.getAsJsonObject();
+ newestRelease = softwareObj.get("current-release").getAsString();
+ newestRelease = newestRelease.replace("\"", "");
+ githubRelease = softwareObj.get("github-release").getAsString();
+ githubRelease = githubRelease.replace("\"", "");
+ } catch (IOException e) {
+ System.out.println("An error has occurred while attempting to check for updates.");
+ e.printStackTrace();
+ }
+ }
+
+ public String urlReader() throws IOException {
+ URL website = new URL("https://brysonsteck.net/updates.json");
+ URLConnection connection = website.openConnection();
+ BufferedReader in = new BufferedReader(
+ new InputStreamReader(
+ connection.getInputStream()));
+
+ StringBuilder response = new StringBuilder();
+ String inputLine;
+
+ while ((inputLine = in.readLine()) != null)
+ response.append(inputLine);
+
+ in.close();
+
+ return response.toString();
+
+ }
+
+ public void compareRelease(String deviceRelease) {
+ if (!deviceRelease.equals(newestRelease)) {
+ outdated = true;
+ }
+ }
+
+ public boolean isOutdated() {
+ return outdated;
+ }
+
+ public String getNewestRelease() {
+ return newestRelease;
+ }
+
+ public String getGithubRelease() {
+ return githubRelease;
+ }
+}
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/AboutFragment.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/AboutFragment.java
index 87f3def..3047e85 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/AboutFragment.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/AboutFragment.java
@@ -1,4 +1,4 @@
-package me.brysonsteck.wiimmfiwatcher;
+package me.brysonsteck.wiimmfiwatcher.fragments;
import android.annotation.SuppressLint;
import android.content.res.Configuration;
@@ -18,6 +18,9 @@ import androidx.fragment.app.Fragment;
import com.google.android.material.appbar.MaterialToolbar;
+import me.brysonsteck.wiimmfiwatcher.BuildConfig;
+import me.brysonsteck.wiimmfiwatcher.R;
+
public class AboutFragment extends Fragment {
View aboutButton;
MaterialToolbar toolbar;
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeAdapter.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeAdapter.java
index 7034888..400436b 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeAdapter.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeAdapter.java
@@ -1,4 +1,4 @@
-package me.brysonsteck.wiimmfiwatcher;
+package me.brysonsteck.wiimmfiwatcher.fragments;
import android.app.ProgressDialog;
import android.content.Context;
@@ -18,6 +18,7 @@ import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
+import me.brysonsteck.wiimmfiwatcher.R;
import me.brysonsteck.wiimmfiwatcher.model.FriendCode;
import me.brysonsteck.wiimmfiwatcher.wiimmfi.WiimmfiActivity;
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeFragment.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeFragment.java
index 01069b6..2687518 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/WatchCodeFragment.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/fragments/WatchCodeFragment.java
@@ -1,4 +1,4 @@
-package me.brysonsteck.wiimmfiwatcher;
+package me.brysonsteck.wiimmfiwatcher.fragments;
import android.app.ProgressDialog;
import android.content.Intent;
@@ -20,6 +20,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.textview.MaterialTextView;
+import me.brysonsteck.wiimmfiwatcher.R;
import me.brysonsteck.wiimmfiwatcher.model.FriendCode;
import me.brysonsteck.wiimmfiwatcher.viewmodel.FriendCodeViewModel;
import me.brysonsteck.wiimmfiwatcher.wiimmfi.WiimmfiActivity;
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/Player.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/Player.java
index fe9e072..257ee20 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/Player.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/Player.java
@@ -1,15 +1,15 @@
package me.brysonsteck.wiimmfiwatcher.wiimmfi;
public class Player {
- String rosterNumber;
- String miiName;
- String friendCode;
- String role;
- String loginRegion;
- String roomMatch;
- String world;
- String connFail;
- String vr;
- String br;
- boolean watching;
+ public String rosterNumber;
+ public String miiName;
+ public String friendCode;
+ public String role;
+ public String loginRegion;
+ public String roomMatch;
+ public String world;
+ public String connFail;
+ public String vr;
+ public String br;
+ public boolean watching;
}
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java
index 60ad7df..b5f6aaf 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomData.java
@@ -14,7 +14,7 @@ public class RoomData {
String roomHeader;
String playerLink;
String friendCode;
- Exception error;
+ public Exception error;
ArrayList<Player> players = new ArrayList<>();
String userAgent = "Wiimmfi Watcher for Android (https://github.com/brysonsteck/wiimmfi-watcher) Version " + BuildConfig.VERSION_NAME;
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/WiimmfiActivity.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/WiimmfiActivity.java
index c0d4c9f..6936275 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/WiimmfiActivity.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/WiimmfiActivity.java
@@ -5,7 +5,6 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Bundle;
import android.os.StrictMode;
-import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
@@ -13,11 +12,10 @@ import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.navigation.NavigationView;
-import org.jsoup.*;
-
import java.util.ArrayList;
import me.brysonsteck.wiimmfiwatcher.R;
+import me.brysonsteck.wiimmfiwatcher.wiimmfi.fragments.RoomFragment;
public class WiimmfiActivity extends AppCompatActivity {
ArrayList<Player> players = new ArrayList<>();
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomAdapter.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomAdapter.java
index 5538869..2840ce6 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomAdapter.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomAdapter.java
@@ -1,4 +1,4 @@
-package me.brysonsteck.wiimmfiwatcher.wiimmfi;
+package me.brysonsteck.wiimmfiwatcher.wiimmfi.fragments;
import android.annotation.SuppressLint;
import android.content.Context;
@@ -15,11 +15,10 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.card.MaterialCardView;
-import org.jsoup.*;
-
import java.util.ArrayList;
import me.brysonsteck.wiimmfiwatcher.R;
+import me.brysonsteck.wiimmfiwatcher.wiimmfi.Player;
public class RoomAdapter extends RecyclerView.Adapter<RoomAdapter.ViewHolder>{
String display;
diff --git a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomFragment.java
index fc144aa..d6326f7 100644
--- a/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/RoomFragment.java
+++ b/app/src/main/java/me/brysonsteck/wiimmfiwatcher/wiimmfi/fragments/RoomFragment.java
@@ -1,10 +1,8 @@
-package me.brysonsteck.wiimmfiwatcher.wiimmfi;
+package me.brysonsteck.wiimmfiwatcher.wiimmfi.fragments;
import android.os.Bundle;
-import android.os.Looper;
import android.view.View;
import android.widget.TextView;
-import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -15,11 +13,11 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
-import java.net.UnknownHostException;
import java.util.ArrayList;
-import java.util.Arrays;
import me.brysonsteck.wiimmfiwatcher.R;
+import me.brysonsteck.wiimmfiwatcher.wiimmfi.Player;
+import me.brysonsteck.wiimmfiwatcher.wiimmfi.RoomData;
public class RoomFragment extends Fragment {
String display;
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 05fc857..5e0cbeb 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -30,4 +30,8 @@
<string name="version_header">Ausführung</string>
<string name="version">Sie verwenden die Wiimmfi Watcher Version %1$s aus. Sie können die Versionshinweise für diese Version <![CDATA[<a href="https://github.com/brysonsteck/wiimmfi-watcher/releases/">hier</a>]]> anzeigen.</string>
<string name="locating_text">Suchen von %1$s…</string>
+ <string name="update_positive">Aktualisieren</string>
+ <string name="update_negative">Später</string>
+ <string name="update_title">Ein neues Update ist verfügbar!</string>
+ <string name="update_message">Eine neue Version von Wiimmfi Watcher ist im Play Store verfügbar (Version %1$s)! Sie können es herunterladen, indem Sie auf \"Aktualisieren\" klicken.</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 29c9f22..08be5f5 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -30,4 +30,8 @@
<string name="license">&#169; Copyright 2021 Bryson Steck Wiimmfi Watcher está disponible bajo la Licencia Pública General de GNU Versión 3. Puede ver la licencia <a href="https://github.com/brysonsteck/wiimmfi-watcher/tree/master/LICENSE">aquí.</a>\n\nWiimmfi Watcher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nWiimmfi Watcher is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with Wiimmfi Watcher. If not, see &lt;<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>&gt;.</string>
<string name="contact">Si desea comunicarse conmigo por cualquier motivo que no esté relacionado con los informes de errores o esta aplicación en general, puede comunicarse conmigo por correo electrónico a <a href='mailto:steck.bryson@gmail.com'>steck.bryson@gmail.com</a> o en Discord a bryzinga#9971.</string>
<string name="locating_text">Localizando %1$s…</string>
+ <string name="update_positive">Actualizar</string>
+ <string name="update_negative">Luego</string>
+ <string name="update_title">¡Hay una nueva actualización disponible!</string>
+ <string name="update_message">¡Hay una nueva versión de Wiimmfi Watcher disponible en Play Store (versión %1$s)! Puedes descargarlo presionando \"Actualizar\".</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 4109ad8..9b37214 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -37,5 +37,9 @@
<string name="version_header">Version</string>
<string name="version">Vous exécutez la version %1$s de Wiimmfi Watcher. Vous pouvez consulter les notes de publication de cette version <![CDATA[<a href="https://github.com/brysonsteck/wiimmfi-watcher/releases/">ici.</a>]]></string>
<string name="locating_text">Localisation de %1$s…</string>
+ <string name="update_positive">réactualiser</string>
+ <string name="update_negative">Ensuite</string>
+ <string name="update_title">Une nouvelle mise à jour est disponible!</string>
+ <string name="update_message">Une nouvelle version de Wiimmfi Watcher est disponible sur le Play Store (version %1$s)! Vous pouvez le télécharger en appuyant sur \"Mettre à jour\".</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index d094f92..00de712 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -30,4 +30,8 @@
<string name="version_header">Versione</string>
<string name="version">Stai eseguendo Wiimmfi Watcher versione %1$s. È possibile visualizzare le note di rilascio per questa versione <![CDATA[<a href="https://github.com/brysonsteck/wiimmfi-watcher/releases/">qui.</a>]]></string>
<string name="locating_text">Individuazione %1$s…</string>
+ <string name="update_positive">Aggiornare</string>
+ <string name="update_negative">Dopo</string>
+ <string name="update_title">È disponibile un nuovo aggiornamento!</string>
+ <string name="update_message">Una nuova versione di Wiimmfi Watcher è disponibile sul Play Store (versione %1$s)! Puoi scaricarlo premendo \"Aggiorna\".</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index cc89096..6e120cc 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -30,4 +30,8 @@
<string name="version_header">バージョン</string>
<string name="version">Wiimmfi Watcherバージョン%1$sを実行しています。このバージョンのリリースノートは<![CDATA[<a href="https://github.com/brysonsteck/wiimmfi-watcher/releases/">こちら</a>]]>でご覧いただけます。</string>
<string name="locating_text">%1$sの検索…</string>
+ <string name="update_positive">更新</string>
+ <string name="update_negative">後で</string>
+ <string name="update_title">新しいアップデートが利用可能です!</string>
+ <string name="update_message">Wiimmfiウォッチャーの新しいバージョンがPlayストアで入手できます(バージョン %1$s!「更新」を押すとダウンロードできます。</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index bde3c68..0343262 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -30,4 +30,8 @@
<string name="license">&#169; Copyright 2021 Bryson Steck\n\nWiimmfi Watcher는 GNU General Public License 버전 3에 따라 사용할 수 있습니다. <a href="https://github.com/brysonsteck/wiimmfi-watcher/tree/master/LICENSE">여기</a>에서 라이센스를 볼 수 있습니다.\n\nWiimmfi Watcher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nWiimmfi Watcher is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with Wiimmfi Watcher. If not, see &lt;<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>&gt;.</string>
<string name="contact">일반적으로 버그 보고서 나이 앱과 관련이없는 이유로 저를 붙잡 으려면 <a href='mailto:steck.bryson@gmail.com'>steck.bryson@gmail.com</a>으로 이메일을 보내거나 bryzinga#9971로 Discord를 통해 저에게 연락 할 수 있습니다.</string>
<string name="locating_text">%1$s 찾는 중…</string>
+ <string name="update_positive">최신 정보</string>
+ <string name="update_negative">나중</string>
+ <string name="update_title">새로운 업데이트가 있습니다!</string>
+ <string name="update_message">Play 스토어 (버전 %1$s)에서 Wiimmfi Watcher의 새 버전을 사용할 수 있습니다! \"업데이트\"를 눌러 다운로드 할 수 있습니다.</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index d8aa961..4b7611d 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -30,4 +30,8 @@
<string name="license">&#169; Copyright 2021 Bryson Steck\n\nWiimmfi Watcher está disponível sob a Licença Pública Geral GNU Versão 3. Você pode visualizar a licença <a href="https://github.com/brysonsteck/wiimmfi-watcher/tree/master/LICENSE">aqui.</a>\n\nWiimmfi Watcher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nWiimmfi Watcher is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with Wiimmfi Watcher. If not, see &lt;<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>&gt;.</string>
<string name="contact">Se você quiser entrar em contato comigo por qualquer motivo não relacionado a relatórios de bugs ou a este aplicativo em geral, pode entrar em contato comigo por e-mail <a href='mailto:steck.bryson@gmail.com'>steck.bryson@gmail.com</a> ou no Discord em bryzinga#9971.</string>
<string name="locating_text">Localizando %1$s…</string>
+ <string name="update_positive">Atualizar</string>
+ <string name="update_negative">Mais tarde</string>
+ <string name="update_title">Uma nova atualização está disponível!</string>
+ <string name="update_message">Uma nova versão do Wiimmfi Watcher está disponível na Play Store (versão %1$s)! Você pode baixá-lo pressionando \"Atualizar\".</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bb30d2a..05fc69e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -37,4 +37,9 @@
<string name="header_null_error">This player is not online, not inside a room or does not exist. Click the refresh button to try again, or click on the back button to enter a different friend code.</string>
<string name="jsoup_error">Whoops! Wiimmfi Watcher was unable to connect to the Wiimmfi servers. This could be that you are not connected to the internet, but it could be something else. Here was the error:\n\n%1$s\n\nIf the error is along the lines of \"Unable to resolve host\" or \"Timeout\", you are probably having internet issues. Make sure you are connected to the internet then click the refresh button or press back to watch a new friend code.\n\nIf the error is something other than that or if the error persists, make sure that Wiimmfi\'s website is currently running. Otherwise, please screenshot this screen and submit a bug report by clicking the About icon on the main page.</string>
<string name="locating_text">Locating %1$s…</string>
+
+ <string name="update_title">A new update is available!</string>
+ <string name="update_message">A new version of Wiimmfi Watcher is available on the Play Store (version %1$s)! You can download it by pressing \"Update\".</string>
+ <string name="update_positive">Update</string>
+ <string name="update_negative">Later</string>
</resources> \ No newline at end of file