Pārlūkot izejas kodu

Android 15 compatible fix

Ray Zhang 10 mēneši atpakaļ
vecāks
revīzija
66bad5ad61

+ 34 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/UploadListActivity.java

@@ -2,6 +2,7 @@ package com.usai.redant.rautils.upload;
 
 import static com.usai.redant.rautils.upload.RAUploadManager.UPLOAD_COUNT_CHANGED_NOTIFICATION;
 
+import android.annotation.SuppressLint;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -9,6 +10,7 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
+import android.graphics.Insets;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.IBinder;
@@ -17,6 +19,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
@@ -90,6 +93,7 @@ public class UploadListActivity extends AppCompatActivity {
 //        }
 //    }
 
+
     private void registerBroadcastReceiver() {
 
         IntentFilter intentFilter = new IntentFilter();
@@ -105,6 +109,7 @@ public class UploadListActivity extends AppCompatActivity {
         }
         else
         {
+
             registerReceiver(uploadReceiver,intentFilter);
         }
 
@@ -145,7 +150,36 @@ public class UploadListActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.upload_list_activity);
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+        {
+
+
+            ViewGroup c = findViewById(R.id.container_root);
+            c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+            {
+                @NonNull
+                @Override
+                public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+                {
+                    Insets innerPadding = null;
+
+
 
+                    innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+                    view.setPadding(
+                            innerPadding.left,
+                            innerPadding.top,
+                            innerPadding.right,
+                            innerPadding.bottom);
+
+
+
+                    return windowInsets;
+                }
+            });
+
+        }
         //设置返回键
         ActionBar mActionBar = getSupportActionBar();
         mActionBar.setHomeButtonEnabled(true);

+ 2 - 0
ApexDrivers/RAUtilsLibrary/src/main/res/layout/upload_list_activity.xml

@@ -4,6 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".upload.UploadListActivity">
 
     <ListView

+ 1 - 1
ApexDrivers/RAUtilsLibrary/src/main/res/values/colors.xml

@@ -16,7 +16,7 @@
     <color name="message_fail">#eeff0000</color>
 
     <color name="pdf_preview_icon_gray">#444445</color>
-
+    <color name="light_gray">#EBEBEB</color>
     <color name="ra_white">#ffffff</color>
     <color name="table_bg">#efeff4</color>
 </resources>

+ 1 - 1
ApexDrivers/raimage/build.gradle

@@ -16,7 +16,7 @@ android {
         minSdkVersion 28
         targetSdkVersion 35
         versionCode 11
-        versionName "1.24.54934"
+        versionName "1.24.57465"
 //        ndk.abiFilters 'armeabi-v7a',"arm64-v8a"
     }
     buildTypes {

+ 2 - 0
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/MainActivity.java

@@ -291,6 +291,7 @@ public class MainActivity extends AppCompatActivity
 
                             new AlertDialog.Builder(MainActivity.this)
                                     .setTitle("Warning")
+                                    .setCancelable(false)
                                     .setMessage("Can not verify input information, server is not reachable for now, add upload task anyway?")
                                     .setPositiveButton("Yes", new DialogInterface.OnClickListener()
                                     {
@@ -1229,6 +1230,7 @@ public class MainActivity extends AppCompatActivity
 
                 new AlertDialog.Builder(MainActivity.this)
                         .setIconAttribute(android.R.attr.alertDialogIcon)
+                        .setCancelable(false)
                         .setTitle(msg)
                         .setView(edit)
                         .setPositiveButton(android.R.string.ok,

+ 32 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java

@@ -6,6 +6,7 @@ import android.app.AlertDialog;
 import android.content.BroadcastReceiver;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.graphics.Insets;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.Gravity;
@@ -13,6 +14,8 @@ import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.widget.EditText;
 import android.widget.TextView;
 
@@ -345,7 +348,36 @@ public class NewDetailActivity extends AppCompatActivity {
 //
 
         setContentView(R.layout.activity_new_detail);
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+        {
+
+
+            ViewGroup c = findViewById(R.id.container_root);
+            c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+            {
+                @NonNull
+                @Override
+                public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+                {
+                    Insets innerPadding = null;
+
+
 
+                    innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+                    view.setPadding(
+                            innerPadding.left,
+                            innerPadding.top,
+                            innerPadding.right,
+                            innerPadding.bottom);
+
+
+
+                    return windowInsets;
+                }
+            });
+
+        }
         setCustomActionBar();
 
 

+ 35 - 8
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/fields/CustomizeFieldsActivity.java

@@ -4,29 +4,25 @@ import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager.NameNotFoundException;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
+import android.graphics.Insets;
 import android.os.Bundle;
-import android.util.JsonReader;
-import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
+import android.view.WindowInsets;
 import android.widget.Button;
-import android.widget.TextView;
+
+import androidx.annotation.NonNull;
 
 import com.usai.ratradefiling.R;
 import com.usai.ratradefiling.TradeFilingApplication;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.redant.rautils.utils.FileManager;
 import com.usai.redant.rautils.utils.RAConverter;
-//import com.usai.util.dbUtil;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -145,6 +141,37 @@ public class CustomizeFieldsActivity extends Activity implements
 
 
 		setContentView(R.layout.activity_customize_fields);
+		if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+		{
+
+
+			ViewGroup c = findViewById(R.id.container_root);
+			c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+			{
+				@NonNull
+				@Override
+				public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+				{
+					Insets innerPadding = null;
+
+
+
+					innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+					view.setPadding(
+							innerPadding.left,
+							innerPadding.top,
+							innerPadding.right,
+							innerPadding.bottom);
+
+
+
+					return windowInsets;
+				}
+			});
+
+		}
+
 		Button btnok = (Button) findViewById(R.id.btnok);
 		btnok.setOnClickListener(this);
 		Button btncancel = (Button) findViewById(R.id.btncancel);

+ 37 - 6
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/CompanySelectActivity.java

@@ -1,14 +1,15 @@
 package com.usai.ratradefiling.home;
 
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.FragmentActivity;
-
-import android.content.Context;
-import android.content.Intent;
+import android.graphics.Insets;
 import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.FragmentActivity;
 
 import com.usai.ratradefiling.R;
-import com.usai.ratradefiling.result.ResultActivity;
 
 public class CompanySelectActivity extends FragmentActivity // AppCompatActivity
 {
@@ -31,5 +32,35 @@ public class CompanySelectActivity extends FragmentActivity // AppCompatActivity
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_company_select);
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+        {
+
+
+            ViewGroup c = findViewById(R.id.container_root);
+            c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+            {
+                @NonNull
+                @Override
+                public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+                {
+                    Insets innerPadding = null;
+
+
+
+                    innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+                    view.setPadding(
+                            innerPadding.left,
+                            innerPadding.top,
+                            innerPadding.right,
+                            innerPadding.bottom);
+
+
+
+                    return windowInsets;
+                }
+            });
+
+        }
     }
 }

+ 34 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/FunctionPanelSettingActivity.java

@@ -3,10 +3,14 @@ package com.usai.ratradefiling.home;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.graphics.Insets;
 import android.os.Bundle;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.widget.Button;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.AppCompatActivity;
 
 import com.usai.ratradefiling.R;
@@ -107,6 +111,36 @@ public class FunctionPanelSettingActivity extends AppCompatActivity implements
 
 
         setContentView(R.layout.activity_function_panel_setting);
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+        {
+
+
+            ViewGroup c = findViewById(R.id.container_root);
+            c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+            {
+                @NonNull
+                @Override
+                public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+                {
+                    Insets innerPadding = null;
+
+
+
+                    innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+                    view.setPadding(
+                            innerPadding.left,
+                            innerPadding.top,
+                            innerPadding.right,
+                            innerPadding.bottom);
+
+
+
+                    return windowInsets;
+                }
+            });
+
+        }
         Button btnok = (Button) findViewById(R.id.btnok);
         btnok.setOnClickListener(this);
         Button btncancel = (Button) findViewById(R.id.btncancel);

+ 33 - 2
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/my/ChangePasswordActivity.java

@@ -3,12 +3,12 @@ package com.usai.ratradefiling.my;
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.annotation.TargetApi;
-import android.app.Activity;
 import android.app.AlertDialog.Builder;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
+import android.graphics.Insets;
 import android.os.AsyncTask;
 import android.os.Build;
 import android.os.Bundle;
@@ -19,12 +19,15 @@ import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AppCompatActivity;
 
@@ -33,7 +36,6 @@ import com.usai.ratradefiling.TradeFilingApplication;
 import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 
-
 import org.json.JSONObject;
 
 /**
@@ -96,7 +98,36 @@ public class ChangePasswordActivity extends AppCompatActivity {
 		super.onCreate(savedInstanceState);
 
 		setContentView(R.layout.activity_change_password);
+		if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+		{
+
+
+			ViewGroup c = findViewById(R.id.container_root);
+			c.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener()
+			{
+				@NonNull
+				@Override
+				public WindowInsets onApplyWindowInsets(@NonNull View view, @NonNull WindowInsets windowInsets)
+				{
+					Insets innerPadding = null;
+
+
 
+					innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
+
+					view.setPadding(
+							innerPadding.left,
+							innerPadding.top,
+							innerPadding.right,
+							innerPadding.bottom);
+
+
+
+					return windowInsets;
+				}
+			});
+
+		}
 		setCustomActionBar();
 
 		// Set up the login form.

+ 16 - 4
ApexDrivers/ratradefiling/src/main/res/layout/activity_change_password.xml

@@ -1,9 +1,15 @@
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
-    tools:context=".ChangePasswordActivity" >
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    tools:context=".my.ChangePasswordActivity">
 
     <!-- Login progress -->
-
+<androidx.constraintlayout.widget.ConstraintLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
+    >
     <LinearLayout
         android:id="@+id/login_status"
         android:layout_width="wrap_content"
@@ -11,7 +17,13 @@
         android:layout_gravity="center"
         android:gravity="center_horizontal"
         android:orientation="vertical"
-        android:visibility="gone" >
+        android:visibility="gone"
+
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        >
 
         <ProgressBar
             style="?android:attr/progressBarStyleLarge"
@@ -111,5 +123,5 @@
             </LinearLayout>
         </LinearLayout>
     </ScrollView>
-
+</androidx.constraintlayout.widget.ConstraintLayout>
 </merge>

+ 2 - 0
ApexDrivers/ratradefiling/src/main/res/layout/activity_company_select.xml

@@ -4,6 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".home.CompanySelectActivity">
 
     <fragment

+ 2 - 0
ApexDrivers/ratradefiling/src/main/res/layout/activity_customize_fields.xml

@@ -2,6 +2,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".fields.CustomizeFieldsActivity" >
 
     <com.usai.ratradefiling.fields.DragListView

+ 2 - 0
ApexDrivers/ratradefiling/src/main/res/layout/activity_function_panel_setting.xml

@@ -2,6 +2,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".home.FunctionPanelSettingActivity">
 
     <com.usai.ratradefiling.fields.DragListView

+ 2 - 0
ApexDrivers/ratradefiling/src/main/res/layout/activity_new_detail.xml

@@ -4,6 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".detail.NewDetailActivity"
     android:orientation="vertical">