From 2403c3eaa89032372ca14a85eb4d253d3da94305 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 25 Jan 2020 11:00:55 +0100 Subject: [PATCH] Some changes --- README.md | 2 + app/src/main/AndroidManifest.xml | 6 ++ app/src/main/ic_launcher-web.png | Bin 0 -> 10578 bytes .../app/fedilab/nitterizeme/MainActivity.java | 49 ++++++++++++++++- .../nitterizeme/TransformActivity.java | 2 - .../res/drawable/ic_launcher_foreground.xml | 13 +++++ app/src/main/res/layout/activity_about.xml | 4 +- app/src/main/res/layout/content_main.xml | 52 ++++++++++++++++-- .../res/mipmap-anydpi-v26/ic_launcher.xml | 4 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 4 +- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2963 -> 1261 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4905 -> 3198 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2060 -> 976 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2783 -> 1925 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4490 -> 1708 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6895 -> 4386 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6387 -> 2512 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10413 -> 6744 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9128 -> 3570 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15132 -> 9653 bytes app/src/main/res/values/colors.xml | 6 +- .../res/values/ic_launcher_background.xml | 4 ++ app/src/main/res/values/strings.xml | 4 ++ app/src/main/res/values/styles.xml | 2 +- 24 files changed, 133 insertions(+), 19 deletions(-) create mode 100644 README.md create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml diff --git a/README.md b/README.md new file mode 100644 index 0000000..3e949e7 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +## NitterizeMe + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a8981fa..2d9a98a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -75,6 +75,12 @@ android:host="youtube-nocookie.com" /> + + \ No newline at end of file diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..bb93f1f397434024749c9661c345c9f45145fee3 GIT binary patch literal 10578 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/app/fedilab/nitterizeme/MainActivity.java b/app/src/main/java/app/fedilab/nitterizeme/MainActivity.java index 5ce0492..67a4b86 100644 --- a/app/src/main/java/app/fedilab/nitterizeme/MainActivity.java +++ b/app/src/main/java/app/fedilab/nitterizeme/MainActivity.java @@ -13,6 +13,9 @@ package app.fedilab.nitterizeme; * * You should have received a copy of the GNU General Public License along with NitterizeMe; if not, * see . */ +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; @@ -21,6 +24,13 @@ import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.view.View; +import android.widget.Button; + +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.textfield.TextInputEditText; + +import java.util.Objects; public class MainActivity extends AppCompatActivity { @@ -29,7 +39,7 @@ public class MainActivity extends AppCompatActivity { public static String SET_NITTER_HOST = "set_nitter_host"; public static String DEFAULT_NITTER_HOST = "nitter.net"; public static String SET_INVIDIOUS_HOST = "set_invidious_host"; - public static String DEFAULT_INVIDIOUS_HOST = "invidious.net"; + public static String DEFAULT_INVIDIOUS_HOST = "invidio.us"; public static final String APP_PREFS = "app_prefs"; @Override @@ -38,7 +48,40 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); + Objects.requireNonNull(getSupportActionBar()).setDisplayShowHomeEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + SharedPreferences sharedpreferences = getSharedPreferences(APP_PREFS, Context.MODE_PRIVATE); + + TextInputEditText nitter_instance = findViewById(R.id.nitter_instance); + TextInputEditText invidious_instance = findViewById(R.id.invidious_instance); + Button button_save = findViewById(R.id.button_save); + + String nitterHost = sharedpreferences.getString(SET_NITTER_HOST, null); + String invidiousHost = sharedpreferences.getString(SET_INVIDIOUS_HOST, null); + if(nitterHost!=null) { + nitter_instance.setText(nitterHost); + } + if(invidiousHost!=null) { + invidious_instance.setText(invidiousHost); + } + button_save.setOnClickListener(v -> { + SharedPreferences.Editor editor = sharedpreferences.edit(); + if (nitter_instance.getText() != null && nitter_instance.getText().toString().trim().length() > 0) { + editor.putString(SET_NITTER_HOST, nitter_instance.getText().toString().toLowerCase().trim()); + } else { + editor.putString(SET_NITTER_HOST, null); + } + editor.apply(); + if (invidious_instance.getText() != null && invidious_instance.getText().toString().trim().length() > 0) { + editor.putString(SET_INVIDIOUS_HOST, invidious_instance.getText().toString().toLowerCase().trim()); + } else { + editor.putString(SET_INVIDIOUS_HOST, null); + } + editor.apply(); + View parentLayout = findViewById(android.R.id.content); + Snackbar.make(parentLayout, R.string.instances_saved, Snackbar.LENGTH_LONG).show(); + }); } @Override @@ -57,7 +100,11 @@ public class MainActivity extends AppCompatActivity { //noinspection SimplifiableIfStatement if (id == R.id.action_about) { + Intent intent = new Intent(MainActivity.this, AboutActivity.class); + startActivity(intent); return true; + }else if(id == android.R.id.home){ + finish(); } return super.onOptionsItemSelected(item); diff --git a/app/src/main/java/app/fedilab/nitterizeme/TransformActivity.java b/app/src/main/java/app/fedilab/nitterizeme/TransformActivity.java index 7c9cbca..6608ae6 100644 --- a/app/src/main/java/app/fedilab/nitterizeme/TransformActivity.java +++ b/app/src/main/java/app/fedilab/nitterizeme/TransformActivity.java @@ -18,7 +18,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; -import android.util.Log; import androidx.appcompat.app.AppCompatActivity; @@ -61,7 +60,6 @@ public class TransformActivity extends AppCompatActivity { } } } - Log.v(MainActivity.TAG,"newUrl: " + newUrl); Intent delegate = new Intent(Intent.ACTION_VIEW); delegate.setData(Uri.parse(newUrl)); delegate.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..03f10d4 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index caf494b..7902d27 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -24,8 +24,6 @@ android:layout_margin="@dimen/fab_margin" tools:context=".AboutActivity"> - + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + + + + +