Explorar o código

TradeFiling 1.18
Android 15 compatible fix

Ray Zhang hai 9 meses
pai
achega
250791823d
Modificáronse 18 ficheiros con 322 adicións e 536 borrados
  1. 42 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/TextScaleUtil.java
  2. 7 0
      ApexDrivers/rapdflib/src/main/res/values/colors.xml
  3. 1 1
      ApexDrivers/ratradefiling/build.gradle
  4. 35 0
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/PrivacyActivity.java
  5. 56 111
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/RootActivity.java
  6. 14 9
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/TradeFilingApplication.java
  7. 1 0
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/about/AboutFragment.java
  8. 7 400
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java
  9. 3 1
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeFragment.java
  10. 5 9
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeHeaderView.java
  11. 32 0
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/result/ResultActivity.java
  12. 35 0
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/search/SearchActivity.java
  13. 76 4
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/signup/SignupActivity.java
  14. 1 0
      ApexDrivers/ratradefiling/src/main/res/layout/activity_html.xml
  15. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/activity_new_detail.xml
  16. 2 0
      ApexDrivers/ratradefiling/src/main/res/layout/activity_result.xml
  17. 2 0
      ApexDrivers/ratradefiling/src/main/res/layout/activity_search_list.xml
  18. 2 0
      ApexDrivers/ratradefiling/src/main/res/layout/activity_signup.xml

+ 42 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/TextScaleUtil.java

@@ -0,0 +1,42 @@
+package com.usai.redant.rautils.utils;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+
+public class TextScaleUtil
+{
+    /**
+     * 保持字体大小不随系统设置变化(用在界面加载之前)
+     * 要重写Activity的attachBaseContext()
+     */
+    public static Context attachBaseContext(Context context, float fontScale) {
+        Configuration config = context.getResources().getConfiguration();
+        //正确写法
+        config.fontScale = fontScale;
+        return context.createConfigurationContext(config);
+    }
+
+    /**
+     * 保持字体大小不随系统设置变化(用在界面加载之前)
+     * 要重写Activity的getResources()
+     */
+    public static Resources getResources(Context context, Resources resources, float fontScale) {
+        Configuration config = resources.getConfiguration();
+        if(config.fontScale != fontScale) {
+            config.fontScale = fontScale;
+            return context.createConfigurationContext(config).getResources();
+        } else {
+            return resources;
+        }
+    }
+
+    /**
+     * 保存字体大小,后通知界面重建,它会触发attachBaseContext,来改变字号
+     */
+    public static void recreate(Activity activity) {
+        activity.recreate();
+    }
+
+}

+ 7 - 0
ApexDrivers/rapdflib/src/main/res/values/colors.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources>
+
+    <color name="light_gray">#EBEBEB</color>
+
+</resources>

+ 1 - 1
ApexDrivers/ratradefiling/build.gradle

@@ -18,7 +18,7 @@ android {
         applicationId "com.usai.ratradefiling"
         minSdkVersion 28
         targetSdkVersion 35
-        versionCode 5
+        versionCode 6
         versionName "1.18"
         ndk.abiFilters 'armeabi-v7a',"arm64-v8a"
 

+ 35 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/PrivacyActivity.java

@@ -2,15 +2,19 @@ package com.usai.ratradefiling;
 
 import android.content.Intent;
 import android.graphics.Color;
+import android.graphics.Insets;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.webkit.WebView;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AppCompatActivity;
 
@@ -33,6 +37,8 @@ public class PrivacyActivity extends AppCompatActivity
 	}
 
 	private void setCustomActionBar() {
+
+
 		ActionBar.LayoutParams lp =new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
 		View mActionBarView = LayoutInflater.from(this).inflate(R.layout.actionbar_customtitle, null);
 
@@ -55,7 +61,36 @@ public class PrivacyActivity extends AppCompatActivity
 
 		super.onCreate(savedInstanceState);
 		setContentView(R.layout.activity_html);
+		if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
+		{
+
+
+			ViewGroup c = findViewById(R.id.scrollView1);
+			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();
 		WebView wv = (WebView) findViewById(R.id.webView1);
 

+ 56 - 111
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/RootActivity.java

@@ -7,6 +7,7 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.content.res.Resources;
 import android.graphics.Insets;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -32,6 +33,7 @@ import com.usai.ratradefiling.home.HomeFragment;
 import com.usai.ratradefiling.login.LoginFragment;
 import com.usai.ratradefiling.my.MyFragment;
 import com.usai.redant.rautils.utils.RAUtil;
+import com.usai.redant.rautils.utils.TextScaleUtil;
 
 //import static androidx.constraintlayout.widget.ConstraintSet.GONE;
 //import com.usai.util.commonUtil;
@@ -51,15 +53,44 @@ public class RootActivity extends BasicActivity {
 
 //    Toolbar toolbar=null;
     Menu actionbutton;
-
+    static float fontScale = 1f;
     public static class RequestCode {
 
        public static final int FunctionSetting = 1111;
     }
+
+
+    @Override
+    public Resources getResources() {
+        Resources resources = super.getResources();
+        return TextScaleUtil.getResources(this,resources,fontScale);
+    }
+
+    @Override
+    protected void attachBaseContext(Context newBase) {
+        super.attachBaseContext(TextScaleUtil.attachBaseContext(newBase,fontScale));
+    }
+
+    public void setFontScale(float fontScale) {
+        this.fontScale = fontScale;
+        TextScaleUtil.recreate(this);
+    }
+
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        actionbutton = menu;
         getMenuInflater().inflate(R.menu.panel_setting,menu);
+        actionbutton = menu;
+
+        MenuItem mi= menu.getItem(0);
+        if(mi!=null)
+        {
+            if(viewPager.getCurrentItem() == 0)
+                mi.setVisible(true);
+            else
+                mi.setVisible(false);
+        }
+
         return  true;
     }
 
@@ -88,18 +119,22 @@ public class RootActivity extends BasicActivity {
             case R.id.panel_setting:
 
             {
-
-                Intent intent = new Intent();
-                intent.setClass(this, FunctionPanelSettingActivity.class);
-                intent.putExtra("user", TradeFilingApplication.get_user());
+                if(viewPager.getCurrentItem() == 0)
+                {
+                    Intent intent = new Intent();
+                    intent.setClass(this, FunctionPanelSettingActivity.class);
+                    intent.putExtra("user", TradeFilingApplication.get_user());
 //                intent.putExtra("sub_type", mParams.getString("sub_type"));
 //        intent.putExtra("sub_type", mParams.getString("sub_type"));
 //                intent.putExtra("type", "result");
 //                intent.putExtra("forNewResult", true);
 //                intent.putExtra("maxDisplayCount", 3);
 
-                HomeFragment homef=(HomeFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(viewPager.getCurrentItem());
-                homef.startActivityForResult(intent, RequestCode.FunctionSetting);
+                    HomeFragment homef=(HomeFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(viewPager.getCurrentItem());
+                    homef.startActivityForResult(intent, RequestCode.FunctionSetting);
+                }
+
+
 
                 // 设置function panel
 
@@ -300,19 +335,7 @@ public class RootActivity extends BasicActivity {
 //        setSupportActionBar(toolbar);
 //        toolbar.setVisibility(GONE);
         getSupportActionBar().setDisplayShowTitleEnabled(false);
-        /*
-        ActionBar actionBar = getSupportActionBar();
-//        actionBar.setLogo(R.drawable.apexlogo);
-        actionBar.setIcon(R.drawable.apexlogo);
-//        actionBar.setIcon(R.drawable.ic_launcher);
-
-//        actionBar.setDisplayUseLogoEnabled(true);
-        actionBar.setDisplayShowHomeEnabled(true);
-        actionBar.setHomeButtonEnabled(true);
-//        actionBar.setHomeAsUpIndicator(R.drawable.ic_launcher);
-//        actionBar.setDisplayHomeAsUpEnabled(true);
-        actionBar.setDisplayShowTitleEnabled(false);
-*/
+
 
         viewPager = (NoScrollViewPager) findViewById(R.id.viewpager);
         bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
@@ -329,6 +352,8 @@ public class RootActivity extends BasicActivity {
                 new BottomNavigationView.OnNavigationItemSelectedListener() {
                     @Override
                     public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+                  //      MenuItem mi= actionbutton.getItem(0);//
+                  //      mi.setVisible(false);
                         actionbutton.getItem(0).setVisible(false);
                         getSupportActionBar().setHomeAsUpIndicator(R.drawable.navigate_logo);
                         getSupportActionBar().setDisplayShowTitleEnabled(false);
@@ -338,21 +363,17 @@ public class RootActivity extends BasicActivity {
                                 viewPager.setCurrentItem(0);
                                 return true;
 
+                            case R.id.item_my:
+                                viewPager.setCurrentItem(1);
+                                return true;
 
                             case R.id.item_about:
 
                                 viewPager.setCurrentItem(2);
                                 return true;
-//                            case R.id.item_tool:
-//                                viewPager.setCurrentItem(3);
-//                                return true;
-//
-//                            case R.id.item_otool:
-//                                viewPager.setCurrentItem(1);
-//                                return true;
 
                             case R.id.item_home:
-                                actionbutton.getItem(0).setVisible(true);
+                    //            actionbutton.getItem(0).setVisible(true);//
                                 if (TradeFilingApplication.get_instance().getPersonMode()) {
                                     getSupportActionBar().setHomeAsUpIndicator(R.drawable.navigate_logo);
                                 }
@@ -360,20 +381,6 @@ public class RootActivity extends BasicActivity {
                                 viewPager.setCurrentItem(0);
                                 return true;
 
-//                            case R.id.item_history:
-//                                if (TradeFilingApplication.get_instance().getPersonMode()) {
-//                                    getSupportActionBar().setHomeAsUpIndicator(R.drawable.apexlogo_p);
-//                                }
-//                                viewPager.setCurrentItem(1);
-//                                return true;
-//
-//                            case R.id.item_search:
-//                                viewPager.setCurrentItem(2);
-//                                return true;
-
-                            case R.id.item_my:
-                                viewPager.setCurrentItem(1);
-                                return true;
 
                         }
                         return false;
@@ -487,33 +494,6 @@ public class RootActivity extends BasicActivity {
     public boolean checkAllPermission() {
 
 
-        /*
-        *
-        *     -->
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.READ_CONTACTS" />
-    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
-    <!-- External storage for caching. -->
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <!-- My Location -->
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <!-- Maps API needs OpenGL ES 2.0. -->
-    <uses-feature
-        android:glEsVersion="0x00020000"
-        android:required="true" />
-    <!-- End of copy. -->
-
-
-    <!-- Baidu Map API -->
-
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
-        * */
-
-
 
         String[] permissions = {
 //                Manifest.permission.CAMERA,
@@ -653,8 +633,8 @@ public class RootActivity extends BasicActivity {
 
         if(login)
         {
-            if(actionbutton!=null)
-                actionbutton.getItem(0).setVisible(true);
+           // if(actionbutton!=null)//
+           //     actionbutton.getItem(0).setVisible(true);//
 
             bottomNavigationView.getChildAt(0).setSelected(true);
             bottomNavigationView.getMenu().clear();
@@ -668,22 +648,6 @@ public class RootActivity extends BasicActivity {
 //            SearchFragment searchFragment = new SearchFragment();
 //            ToolsFragment toolsFragment = new ToolsFragment();
             MyFragment myFragment = new MyFragment();
-//            myFragment.setCallBack(new MyFragment.LogoutCallBack() {
-//                @Override
-//                public void onLogout() {
-//
-//                                    System.out.println("log out ");
-//                login=false;
-//
-////                BottomNavigationView v;
-//
-////                v.getse
-////                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
-////                navigation.setSelectedItemId(navigation.getMenu().getItem(position).getItemId());
-//
-//                setupViewPager(viewPager);
-//                }
-//            });
 
 
             AboutFragment aboutFragment = new AboutFragment();
@@ -706,23 +670,15 @@ public class RootActivity extends BasicActivity {
             setupLoginAppearance();
 
 
-//            adapter.addFragment(BaseFragment.newInstance("home"));
-//            adapter.addFragment(BaseFragment.newInstance("history"));
-//            adapter.addFragment(BaseFragment.newInstance("search"));
-//            adapter.addFragment(BaseFragment.newInstance("tool"));
-//
-//            TestFragment logoutf = TestFragment.newInstance("logout");
-//            logoutf.setCallBack(logincallback);
-//            adapter.addFragment(logoutf);
-//            toolbar.setVisibility(View.VISIBLE);
+
         }
         else
         {
             TradeFilingApplication.get_instance().homeactive = false;
             TradeFilingApplication.get_instance().historyactive = false;
             TradeFilingApplication.get_instance().recentactive = false;
-            if(actionbutton!=null)
-                actionbutton.getItem(0).setVisible(false);
+       //     if(actionbutton!=null)
+        //        actionbutton.getItem(0).setVisible(false);
             bottomNavigationView.getChildAt(0).setSelected(true);
             bottomNavigationView.getMenu().clear();
             bottomNavigationView.inflateMenu(R.menu.navi_logout);
@@ -730,18 +686,7 @@ public class RootActivity extends BasicActivity {
 
 
             LoginFragment loginFragment = new LoginFragment();
-//            loginFragment.setCallBack(new LoginFragment.LoginCallBack() {
-//                @Override
-//                public void onLogin() {
-//                System.out.println("login ");
-//                login = true;
-////                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
-//
-//                setupViewPager(viewPager);
-//                }
-//            });
-//            TestFragment loginf = TestFragment.newInstance("login");
-//            loginf.setCallBack(logincallback);
+
 
 
             adapter.addFragment(loginFragment);

+ 14 - 9
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/TradeFilingApplication.java

@@ -1,8 +1,9 @@
 package com.usai.ratradefiling;
 
+import static com.usai.ratradefiling.Const.FAKE_DATA;
+
 import android.app.Activity;
 import android.app.AlertDialog;
-import android.app.Application;
 import android.app.DownloadManager;
 import android.app.ProgressDialog;
 import android.content.Context;
@@ -22,18 +23,13 @@ import android.util.Log;
 
 import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 
+import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.ratradefiling.utils.AES;
-import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
-import com.usai.redant.rautils.application.RAApplication;
 import com.usai.redant.rautils.application.RedantApplication;
 import com.usai.redant.rautils.utils.FileManager;
 import com.usai.redant.rautils.utils.RAProviderHelper;
 import com.usai.redant.rautils.utils.RAUtil;
-//import com.usai.util.AES;
-//import com.usai.util.Network;
-//import com.usai.util.RAUtil;
-//import com.usai.util.dbUtil;
 
 import org.json.JSONArray;
 import org.json.JSONException;
@@ -42,8 +38,6 @@ import org.json.JSONObject;
 import java.io.File;
 import java.lang.ref.WeakReference;
 
-import static com.usai.ratradefiling.Const.FAKE_DATA;
-
 public class TradeFilingApplication extends RedantApplication implements RAProviderHelper.ProviderHelperDelegate
 {
 
@@ -55,6 +49,8 @@ public class TradeFilingApplication extends RedantApplication implements RAProvi
 
 	private static String					m_nickname		= "";
 
+	private static String					m_S30		= "";
+
 	private static boolean					m_active		= false;
 	public static int						ncount			= 1;
 
@@ -93,6 +89,15 @@ public class TradeFilingApplication extends RedantApplication implements RAProvi
 		return this.m_nickname;
 	}
 
+	public String getS30() {
+		return this.m_S30;
+	}
+
+	public void SetS30(String s30)
+	{
+		m_S30 = s30;
+	}
+
 	public static TradeFilingApplication getInstance() {
 		return instance;
 	}

+ 1 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/about/AboutFragment.java

@@ -65,6 +65,7 @@ public class AboutFragment extends Fragment {
             mParam1 = getArguments().getString(ARG_PARAM1);
             mParam2 = getArguments().getString(ARG_PARAM2);
         }
+        setHasOptionsMenu(false);
     }
 
     @Override

+ 7 - 400
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java

@@ -218,34 +218,6 @@ public class NewDetailActivity extends AppCompatActivity {
                         .create().show();
                 return true;
 
-//            case R.id.action_search_document: {
-//                String cargo_str = contentmap.get("Tracking");
-//                try {
-//                    JSONObject cargo_json = new JSONObject(cargo_str);
-//                    String hbol = cargo_json.optString("hbol");
-//                    if (hbol != null && hbol.length() > 0) {
-//
-//                        Bundle parms = new Bundle();
-//                        parms.putString("bol",hbol);
-//                        parms.putString("module_name","Download Document");
-////                        Intent resultIntent = new Intent(this, AMResultActivity.class);
-////                        resultIntent.putExtra("query_params",parms);
-////                        startActivity(resultIntent);
-//
-//
-//                        ApexResultActivity.startResultActivity(this, parms);
-//
-//                    } else {
-//                        showAlter("There is no hbol to search");
-//                    }
-//
-//                } catch (JSONException e) {
-//                    e.printStackTrace();
-//                    showAlter("There is no hbol to search");
-//                }
-//
-//            }
-//            break;
 
             case R.id.action_share_detail: {
 
@@ -312,41 +284,12 @@ public class NewDetailActivity extends AppCompatActivity {
 //        outState.putBoolean("login",login);
     }
 
-//    @Override
-//    protected void onDestroy() {
-//        LocalBroadcastManager localBroadcastManager = LocalBroadcastManager
-//                .getInstance(this);
-//        localBroadcastManager.unregisterReceiver(br);
-//        super.onDestroy();
-//    }
+
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-//        if (!isTaskRoot()) {
-//            finish();
-//            return;
-//        }
-//
-//        LocalBroadcastManager localBroadcastManager = LocalBroadcastManager
-//                .getInstance(this);
-//        IntentFilter intentFilter = new IntentFilter();
-//        intentFilter.addAction("Login");
-//        br = new BroadcastReceiver() {
-//
-//            @Override
-//            public void onReceive(Context context, Intent intent) {
-//                boolean blogin = intent.getBooleanExtra("state",true);
-//                login=blogin;
-//
-//                setupViewPager(viewPager);
-//            }
-//
-//        };
-//        localBroadcastManager.registerReceiver(br, intentFilter);
-//
-
         setContentView(R.layout.activity_new_detail);
         if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R)
         {
@@ -365,6 +308,10 @@ public class NewDetailActivity extends AppCompatActivity {
 
                     innerPadding = windowInsets.getInsets(WindowInsets.Type.statusBars());
 
+//                    Insets innerPadding1 =windowInsets.getInsets(WindowInsets.Type.navigationBars());
+
+
+
                     view.setPadding(
                             innerPadding.left,
                             innerPadding.top,
@@ -404,53 +351,8 @@ public class NewDetailActivity extends AppCompatActivity {
 
         sub_type = getIntent().getStringExtra("sub_type");
 
-//        if(function_name.equals("Ocean Booking"))
-//            setTitle("Booking Detail");
-//        else if(function_name.equals("Ocean B/L info."))
-//            setTitle("B/L info. Detail");
-//        else if(function_name.equals("Container detail"))
-//            setTitle("Container Detail");
-////		else if(function_name.equals("Cargo Tracking"))
-////			setTitle("Cargo Detail");
-////
-//
-//        if (function_name.equals("Cargo Tracking"))
-//        {
-//            criterion_type = getIntent().getIntExtra("criterion_type", 0);
-//            cargo_criterion = getIntent().getStringExtra("cargo_criterion");
-////            setTitle("Cargo Detail");
-//        }
-//        _id = getIntent().getStringExtra("_id");
-//
-//        _schema = getIntent().getStringExtra("_schema");
-//
-//        if (savedInstanceState != null) {
-//            login = savedInstanceState.getBoolean("login");
-//        }
-
-
-
 
 
-//
-//        Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
-//        setSupportActionBar(toolbar);
-//
-//        getSupportActionBar().setDisplayShowTitleEnabled(false);
-        /*
-        ActionBar actionBar = getSupportActionBar();
-//        actionBar.setLogo(R.drawable.apexlogo);
-        actionBar.setIcon(R.drawable.apexlogo);
-//        actionBar.setIcon(R.drawable.ic_launcher);
-
-//        actionBar.setDisplayUseLogoEnabled(true);
-        actionBar.setDisplayShowHomeEnabled(true);
-        actionBar.setHomeButtonEnabled(true);
-//        actionBar.setHomeAsUpIndicator(R.drawable.ic_launcher);
-//        actionBar.setDisplayHomeAsUpEnabled(true);
-        actionBar.setDisplayShowTitleEnabled(false);
-*/
-
         viewPager = (NoScrollViewPager) findViewById(R.id.viewpager);
         bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
 
@@ -476,312 +378,17 @@ public class NewDetailActivity extends AppCompatActivity {
                             viewPager.setCurrentItem(menu_map.get(item.getItemId()));
                             return true;
                         }
-//                        else if(item.getItemId() == menu_map.get("Detail").intValue())
-//                        {
-//
-//                            viewPager.setCurrentItem(1);
-//                            return true;
-//                        }
-//
-//
-//                        switch (item.getItemId()) {
-//                            case menu_map.get("Tracing"):
-//
-//                                viewPager.setCurrentItem(0);
-//                                return true;
-//
-//                            case R.id.item_tool:
-//                                viewPager.setCurrentItem(3);
-//                                return true;
-//
-//                            case R.id.item_otool:
-//                                viewPager.setCurrentItem(1);
-//                                return true;
-//
-//                            case R.id.item_home:
-//                                actionbutton.getItem(0).setVisible(true);
-//                                if (ApexTrackingApplication.get_instance().getPersonMode()) {
-//                                    getSupportActionBar().setHomeAsUpIndicator(R.drawable.apexlogo_p);
-//                                }
-//                                getSupportActionBar().setDisplayShowTitleEnabled(true);
-//                                viewPager.setCurrentItem(0);
-//                                return true;
-//
-//                            case R.id.item_history:
-//                                if (ApexTrackingApplication.get_instance().getPersonMode()) {
-//                                    getSupportActionBar().setHomeAsUpIndicator(R.drawable.apexlogo_p);
-//                                }
-//                                viewPager.setCurrentItem(1);
-//                                return true;
-//
-//                            case R.id.item_search:
-//                                viewPager.setCurrentItem(2);
-//                                return true;
-//
-//                            case R.id.item_my:
-//                                viewPager.setCurrentItem(4);
-//                                return true;
 
-//                        }
-//                        return false;
                     }
                 });
 
-//
-//        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
-//            @Override
-//            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-//
-//            }
-//
-//            @Override
-//            public void onPageSelected(int position) {
-//
-//                MenuItem item= bottomNavigationView.getMenu().getItem(position);
-//
-//                switch (item.getItemId())
-//                {
-//                    case R.id.item_login:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        break;
-//
-//                    case R.id.item_tool:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        break;
-//
-//                    case R.id.item_otool:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        break;
-//
-//                    case R.id.item_home:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = true;
-//
-//                        HomeFragment homef=(HomeFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(position);
-//                        homef.checkDirty();
-//                        break;
-//
-//                    case R.id.item_history:
-//
-//                        ApexTrackingApplication.get_instance().historyactive = true;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        HistoryFragment historyf=(HistoryFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(position);
-//                        historyf.checkDirty();
-//
-//                        break;
-//                    case R.id.item_search:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        break;
-//
-//                    case R.id.item_my:
-//                        ApexTrackingApplication.get_instance().historyactive = false;
-//                        ApexTrackingApplication.get_instance().homeactive = false;
-//                        break;
-//                }
-//
-//
-//
-////                if(viewPager.gets)
-////                if (menuItem != null) {
-////                    menuItem.setChecked(false);
-////                } else {
-////                    bottomNavigationView.getMenu().getItem(0).setChecked(false);
-////                }
-////                menuItem = bottomNavigationView.getMenu().getItem(position);
-////                menuItem.setChecked(true);
-//            }
-//
-//            @Override
-//            public void onPageScrollStateChanged(int state) {
-//            }
-//        });
-//
 
 
-//        viewPager.set
-////        禁止ViewPager滑动
-//        viewPager.setOnTouchListener(new View.OnTouchListener() {
-//            @Override
-//            public boolean onTouch(View v, MotionEvent event) {
-//                return true;
-//            }
-//        });
-
         setupViewPager(viewPager);
 
 
-//        boolean pop = checkAllPermission();
-//        if(!pop)
-//        {
-//            if(TextUtils.isEmpty(ApexTrackingApplication.station_name))
-//            {
-//                Intent intent = new Intent();
-//                intent.setClass(RootActivity.this,ServerSettingActivity.class);
-////            startActivity(intent);
-//                startActivityForResult(intent, 0);
-//            }
-//        }
-    }
-//    public boolean checkAllPermission() {
-//
-//
-//        /*
-//        *
-//        *     -->
-//    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-//    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-//    <uses-permission android:name="android.permission.INTERNET" />
-//    <uses-permission android:name="android.permission.READ_CONTACTS" />
-//    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
-//    <!-- External storage for caching. -->
-//    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-//    <!-- My Location -->
-//    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-//    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-//    <!-- Maps API needs OpenGL ES 2.0. -->
-//    <uses-feature
-//        android:glEsVersion="0x00020000"
-//        android:required="true" />
-//    <!-- End of copy. -->
-//
-//
-//    <!-- Baidu Map API -->
-//
-//    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-//    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
-//        * */
-//
-//
-//
-//        String[] permissions = {
-////                Manifest.permission.CAMERA,
-////                Manifest.permission.VIBRATE,
-//                Manifest.permission.READ_CONTACTS,
-//                Manifest.permission.READ_PHONE_STATE,
-//                Manifest.permission.WRITE_EXTERNAL_STORAGE,
-//                Manifest.permission.READ_EXTERNAL_STORAGE,
-////                Manifest.permission.RECEIVE_BOOT_COMPLETED,
-////                Manifest.permission.ACCESS_NETWORK_STATE,
-////                Manifest.permission.ACCESS_WIFI_STATE,
-////                Manifest.permission.INTERNET,
-////                Manifest.permission.ACCESS_FINE_LOCATION,
-////
-////                Manifest.permission.CHANGE_CONFIGURATION
-//
-//
-//
-//        };
-//
-//
-//
-////        RAUtil.checkPermissions1(this,permissions);
-//        boolean ret = true;
-////        for(String permission : permissions) {
-////            boolean granted = ;
-////            if (!granted) {
-////                ret= false;
-////            }
-////        }
-//
-//
-//        return commonUtil.checkPermissions(this,permissions);
-//
-////        return ret;
-//    }
-
 
-//    @Override
-//    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
-//    {
-//
-//        if (requestCode == commonUtil.MY_PERMISSIONS_REQUEST)
-//        {
-//            boolean missing=false;
-//            boolean request = false;
-//            for(int i=0;i<grantResults.length;i++)
-//            {
-//
-//                if(grantResults[i]!= PackageManager.PERMISSION_GRANTED)
-//                    missing=true;
-//                boolean bshow= ActivityCompat.shouldShowRequestPermissionRationale(this,permissions[i]);
-//                if(bshow)
-//                    request = true;
-//            }
-//
-//            String msg=null;
-//            if(request)
-//                msg="Apex Mobile needs some essential permissions.";
-//            else
-//                msg="Apex Mobile will quit because missing some essential permissions.\nPlease check your system setting.";
-//
-//            if(missing) {
-//                final boolean finalRequest = request;
-//                new AlertDialog.Builder(this)
-//                        .setTitle("Warning")
-//                        .setMessage(msg)
-//                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
-//                            @Override
-//                            public void onClick(DialogInterface dialog, int which) {
-////                                checkAllPermission();
-//                                if (finalRequest)
-//                                    checkAllPermission();
-//                                else
-//                                    finish();
-//                            }
-//                        })
-////                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
-////                        @Override
-////                        public void onClick(DialogInterface dialog, int which) {
-////                            finish();
-////                        }
-////                    })
-//                        .show();
-//            }
-//            else
-//            {
-////                if(TextUtils.isEmpty(ApexTrackingApplication.station_name))
-////                {
-////                    Intent intent = new Intent();
-////                    intent.setClass(FullScreenLoginActivity.this,ServerSettingActivity.class);
-//////            startActivity(intent);
-////                    startActivityForResult(intent, 0);
-////                }
-//            }
-////            if (grantResults[0] == PackageManager.PERMISSION_GRANTED)
-////            {
-////               // callPhone();
-////            } else
-////            {
-////
-////
-////                            new AlertDialog.Builder(this)
-////                    .setTitle("Warning")
-////                    .setMessage("RA Image missing essential permission")
-////                    .setPositiveButton("OK", new DialogInterface.OnClickListener() {
-////                        @Override
-////                        public void onClick(DialogInterface dialog, int which) {
-////                            checkAllPermission();
-////                        }
-////                    })
-//////                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
-//////                        @Override
-//////                        public void onClick(DialogInterface dialog, int which) {
-//////                            finish();
-//////                        }
-//////                    })
-////                    .show();
-////
-////                // Permission Denied
-////               // Toast.makeText(MainActivity.this, "Permission Denied", Toast.LENGTH_SHORT).show();
-////            }
-//            return;
-//        }
-//        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
-//    }
+    }
 
     private void setupViewPager(final ViewPager viewPager) {
 
@@ -792,7 +399,7 @@ public class NewDetailActivity extends AppCompatActivity {
 
 //        adapter.clear();
 
-        if(true)
+//        if(true)
         {
 //            if(actionbutton!=null)
 //                actionbutton.getItem(0).setVisible(true);

+ 3 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeFragment.java

@@ -728,9 +728,11 @@ public class HomeFragment extends Fragment
 
                 headertext=headertext + "</font></center>";
 
-                mHeaderView.setS30(headertext);
 
 
+                TradeFilingApplication.get_instance().SetS30(headertext);
+
+                mHeaderView.setS30(headertext);
 
                 JSONArray sectionArr = json.optJSONArray("sections");
                 if (sectionArr != null)

+ 5 - 9
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeHeaderView.java

@@ -1,19 +1,13 @@
 package com.usai.ratradefiling.home;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.Html;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.MotionEvent;
 import android.view.View;
-import android.widget.AbsListView;
 import android.widget.AdapterView;
-import android.widget.GridView;
-import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
@@ -35,6 +29,7 @@ public class HomeHeaderView extends RelativeLayout {
     TextView tv_company;
     TextView tv_welcome;
     TextView tv_recent;
+//    String s30;
     public interface HomeHeaderDelegate {
 //        void signoutClick();
 //        void settingClick();
@@ -99,8 +94,9 @@ public class HomeHeaderView extends RelativeLayout {
     public void setS30(String s30)
     {
 
+//        this.s30 = s30;
 
-        tv_recent.setText(Html.fromHtml(s30));
+        tv_recent.setText(Html.fromHtml(TradeFilingApplication.get_instance().getS30()));
     }
     private void init() {
 //        Log.e("DEBUG", "init: FUNCTION PANEL!!!");
@@ -200,10 +196,10 @@ public class HomeHeaderView extends RelativeLayout {
         else
             welcome="Inactive User: "+TradeFilingApplication.get_instance().getNickname();
 
-         tv_welcome.setText(welcome);
-
+        tv_welcome.setText(welcome);
 
 
+            tv_recent.setText(Html.fromHtml(TradeFilingApplication.get_instance().getS30()));
 
 
 //        newContainer = findViewById(R.id.new_count_container);

+ 32 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/result/ResultActivity.java

@@ -4,6 +4,7 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.graphics.Color;
+import android.graphics.Insets;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.Gravity;
@@ -11,6 +12,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.widget.AbsListView;
 import android.widget.AdapterView;
 import android.widget.EditText;
@@ -18,6 +20,7 @@ import android.widget.ListView;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
@@ -99,7 +102,36 @@ public class ResultActivity extends AppCompatActivity implements ResultPresenter
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_result);
+        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;
+                }
+            });
+
+        }
         //
         if (savedInstanceState != null) {
             mParams = savedInstanceState.getBundle(ParametersKey);

+ 35 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/search/SearchActivity.java

@@ -5,6 +5,7 @@ import android.app.DatePickerDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.graphics.Insets;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.InputType;
@@ -17,6 +18,8 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.view.inputmethod.EditorInfo;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemSelectedListener;
@@ -29,6 +32,7 @@ import android.widget.LinearLayout;
 import android.widget.Spinner;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.constraintlayout.widget.ConstraintLayout;
@@ -136,6 +140,37 @@ public class SearchActivity extends AppCompatActivity implements OnClickListener
 	{
 		super.onCreate(savedInstanceState);
 		setContentView(R.layout.activity_search_list);
+		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;
+				}
+			});
+
+		}
+
 		instance = this;
         setCustomActionBar();
 //		ActionBar actionBar = getSupportActionBar();

+ 76 - 4
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/signup/SignupActivity.java

@@ -1,16 +1,23 @@
 package com.usai.ratradefiling.signup;
 
+import static com.usai.redant.rautils.utils.Network.RESULT_TRUE;
+
 import android.content.Context;
+import android.content.Intent;
+import android.graphics.Insets;
 import android.os.AsyncTask;
 import android.os.Bundle;
-
 import android.text.Html;
 import android.text.TextUtils;
 import android.text.method.LinkMovementMethod;
 import android.text.method.ScrollingMovementMethod;
 import android.util.Log;
 import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowInsets;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
@@ -18,6 +25,8 @@ 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;
 
 import com.usai.ratradefiling.R;
@@ -25,11 +34,8 @@ import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.redant.rautils.utils.RAUtil;
 
-import org.json.JSONException;
 import org.json.JSONObject;
 
-import static com.usai.redant.rautils.utils.Network.RESULT_TRUE;
-
 public class SignupActivity extends AppCompatActivity
 {
 
@@ -47,13 +53,79 @@ public class SignupActivity extends AppCompatActivity
 
     String user;
     String password;
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item)
+    {
+        Intent intent = new Intent();
+        switch (item.getItemId())
+        {
+            case android.R.id.home:
+                finish();
+                break;
+
+            default:
+                break;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+    private void setCustomActionBar() {
+
+
+
+        ActionBar.LayoutParams lp =new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
+        View mActionBarView = LayoutInflater.from(this).inflate(R.layout.actionbar_customtitle, null);
+
+        TextView titleview = mActionBarView.findViewById(R.id.title);
+        titleview.setText("PRIVACY POLICY");
+        setTitle("PRIVACY POLICY");
+        ActionBar actionBar = getSupportActionBar();
+        actionBar.setCustomView(mActionBarView, lp);
+//		actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
+//		actionBar.setDisplayShowCustomEnabled(true);
+        actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+        actionBar.setDisplayShowTitleEnabled(true);
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_signup);
 
+        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();
         mSignupStatusMessageView = (TextView)
                 findViewById(R.id.signup_status_message);
         mSignupStatusView = findViewById(R.id.signup_status);

+ 1 - 0
ApexDrivers/ratradefiling/src/main/res/layout/activity_html.xml

@@ -8,6 +8,7 @@
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
+    android:background="@color/light_gray"
     tools:context="com.usai.ratradefiling.PrivacyActivity" >
 
     <androidx.constraintlayout.widget.ConstraintLayout

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

@@ -31,7 +31,7 @@
     <com.google.android.material.bottomnavigation.BottomNavigationView
         android:id="@+id/bottom_navigation"
         android:layout_width="match_parent"
-        android:layout_height="40dp"
+        android:layout_height="wrap_content"
 
         app:labelVisibilityMode="labeled"
         app:itemHorizontalTranslationEnabled="false"

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

@@ -5,6 +5,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=".result.ResultActivity">
 
     <androidx.swiperefreshlayout.widget.SwipeRefreshLayout

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

@@ -3,6 +3,8 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
                 tools:context=".search.SearchActivity">
 
     <LinearLayout

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

@@ -5,6 +5,8 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:scrollbars="vertical"
+    android:id="@+id/container_root"
+    android:background="@color/light_gray"
     tools:context=".EmptyActivity">