Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android 15 support #50

Merged
merged 2 commits into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ plugins {
}

android {
compileSdk 34
compileSdk 35

defaultConfig {
applicationId "com.sjapps.jsonlist"
minSdk 23
targetSdk 34
versionCode 23
targetSdk 35
versionCode 24
versionName "1.6"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -28,7 +28,7 @@ android {
}
debug {
applicationIdSuffix '.debug'
versionNameSuffix ' dev 3'
versionNameSuffix ' dev 4'
}
}
compileOptions {
Expand Down
24 changes: 24 additions & 0 deletions app/src/main/java/com/sjapps/about/AboutActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,18 @@
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
Expand Down Expand Up @@ -50,8 +55,10 @@ public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_about);
initialize();
setLayoutBounds();
Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_from_bottom);
nestedScrollView.startAnimation(animation);
PackageManager manager = getPackageManager();
Expand All @@ -74,6 +81,23 @@ protected void onCreate(Bundle savedInstanceState) {

}

private void setLayoutBounds() {
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.rootView), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
Insets insetsN = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout());

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) v.getLayoutParams();

layoutParams.leftMargin = insets.left + insetsN.left;
layoutParams.topMargin = insets.top;
layoutParams.rightMargin = insets.right + insetsN.right;
View scrollRL = findViewById(R.id.scrollRL);
scrollRL.setPadding(scrollRL.getPaddingLeft(),scrollRL.getPaddingTop(),scrollRL.getPaddingRight(),insets.bottom + insetsN.bottom);
v.setLayoutParams(layoutParams);
return WindowInsetsCompat.CONSUMED;
});
}

private void setupList(ArrayList<AboutListItem> items, @NonNull RecyclerView view) {
AboutListAdapter adapter = new AboutListAdapter(items);
view.setNestedScrollingEnabled(false);
Expand Down
20 changes: 20 additions & 0 deletions app/src/main/java/com/sjapps/jsonlist/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

Expand Down Expand Up @@ -127,6 +130,7 @@ protected void onCreate(Bundle savedInstanceState) {

setContentView(R.layout.activity_main);
initialize();
setLayoutBounds();

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
isVertical = false;
Expand Down Expand Up @@ -271,6 +275,22 @@ protected void onCreate(Bundle savedInstanceState) {
});
}

private void setLayoutBounds() {
ViewCompat.setOnApplyWindowInsetsListener(viewGroup, (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
Insets insetsN = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout());

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) v.getLayoutParams();

layoutParams.leftMargin = insets.left + insetsN.left;
layoutParams.topMargin = insets.top;
layoutParams.rightMargin = insets.right + insetsN.right;
layoutParams.bottomMargin = insets.bottom;
v.setLayoutParams(layoutParams);
return WindowInsetsCompat.CONSUMED;
});
}

private void LoadStateData() {
boolean prevSH = state != null && state.isSyntaxHighlighting();

Expand Down
21 changes: 21 additions & 0 deletions app/src/main/java/com/sjapps/jsonlist/SettingsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import com.google.android.material.materialswitch.MaterialSwitch;

Expand All @@ -28,6 +32,7 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_settings);

initialize();
setLayoutBounds();

LoadData();

Expand Down Expand Up @@ -83,6 +88,22 @@ public void onNothingSelected(AdapterView<?> parent) {

}

private void setLayoutBounds() {
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.rootView), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
Insets insetsN = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout());

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) v.getLayoutParams();

layoutParams.leftMargin = insets.left + insetsN.left;
layoutParams.topMargin = insets.top;
layoutParams.rightMargin = insets.right + insetsN.right;
layoutParams.bottomMargin = insets.bottom;
v.setLayoutParams(layoutParams);
return WindowInsetsCompat.CONSUMED;
});
}

private void LoadData() {
state = FileSystem.loadStateData(this);
}
Expand Down
24 changes: 23 additions & 1 deletion app/src/main/java/com/sjapps/logs/LogActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,16 @@
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.FileProvider;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import com.google.gson.Gson;
import com.sjapps.jsonlist.AppState;
Expand All @@ -38,8 +43,9 @@ public class LogActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log);

EdgeToEdge.enable(this);
logTxt = findViewById(R.id.logTxt);
setLayoutBounds();
update();

AppState state = FileSystem.loadStateData(this);
Expand All @@ -51,6 +57,22 @@ protected void onCreate(Bundle savedInstanceState) {

}

private void setLayoutBounds() {
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.rootView), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
Insets insetsN = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout());

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) v.getLayoutParams();

layoutParams.leftMargin = insets.left + insetsN.left;
layoutParams.topMargin = insets.top;
layoutParams.rightMargin = insets.right + insetsN.right;
logTxt.setPadding(logTxt.getPaddingLeft(),logTxt.getPaddingTop(),logTxt.getPaddingRight(),insets.bottom + insetsN.bottom);
v.setLayoutParams(layoutParams);
return WindowInsetsCompat.CONSUMED;
});
}

@Override
protected void onResume() {
super.onResume();
Expand Down
62 changes: 37 additions & 25 deletions app/src/main/res/layout/activity_about.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,53 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sjapps.about.AboutActivity">

<ImageButton
android:id="@+id/BackBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:contentDescription="@string/back"
android:background="@drawable/ripple"
android:onClick="Back"
android:src="@drawable/ic_back"
android:text="@string/back" />

<TextView
android:id="@+id/TitleText"
android:layout_width="wrap_content"
tools:context="com.sjapps.about.AboutActivity"
android:id="@+id/rootView"
>

<LinearLayout
android:id="@+id/topBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_toEndOf="@+id/BackBtn"
android:text="@string/about"
android:textColor="?colorOnBackground"
android:textSize="30sp" />
android:layout_marginTop="10dp"
android:gravity="center_vertical"
>

<ImageButton
android:id="@+id/BackBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:contentDescription="@string/back"
android:background="@drawable/ripple"
android:onClick="Back"
android:src="@drawable/ic_back"

android:text="@string/back" />

<TextView
android:id="@+id/TitleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="@string/about"
android:textStyle="bold"
android:textColor="?colorOnBackground"
android:textSize="30sp" />

</LinearLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/nestedList"
android:layout_width="600dp"
android:layout_height="wrap_content"
android:layout_below="@+id/BackBtn"
android:layout_below="@+id/topBar"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true"

>
<RelativeLayout
android:id="@+id/scrollRL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
Expand Down
25 changes: 12 additions & 13 deletions app/src/main/res/layout/activity_log.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,41 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.sjapps.logs.LogActivity">
tools:context="com.sjapps.logs.LogActivity"
android:id="@+id/rootView">

<RelativeLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:weightSum="1"
>

<ImageButton
android:id="@+id/BackBtn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"

android:background="@drawable/ripple"
android:onClick="Back"
android:src="@drawable/ic_back"
android:text="@string/back" />

<TextView
android:id="@+id/TitleText"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toEndOf="@+id/BackBtn"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:text="@string/crash_logs"
android:textSize="30dp"
android:textSize="30sp"
android:textStyle="bold" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
>
<ImageButton
Expand All @@ -66,7 +65,7 @@

</LinearLayout>

</RelativeLayout>
</LinearLayout>


<ScrollView
Expand Down
Loading
Loading