Add overflow on action bar
authorPeng Li <seudut@gmail.com>
Tue, 29 May 2018 06:27:29 +0000 (14:27 +0800)
committerPeng Li <seudut@gmail.com>
Tue, 29 May 2018 06:27:29 +0000 (14:27 +0800)
app/src/main/java/ai/suanzi/rtmpclient/LogUtil.java
app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java
app/src/main/res/menu/main.xml

index b15d435..a50863a 100644 (file)
@@ -21,6 +21,7 @@ import java.util.Date;
 import android.content.Context;
 import android.os.AsyncTask;
 import android.os.StrictMode;
+import android.widget.Toast;
 
 import java.io.File;
 import java.util.zip.ZipEntry;
@@ -97,8 +98,10 @@ public class LogUtil {
                     gLogger.debug("Zip file completed");
                     File zz = new File(zfile);
                     zz.delete();
+                    Toast.makeText(mContext, "Completed", Toast.LENGTH_SHORT).show();
                 } else {
                     gLogger.error("zip file error");
+                    Toast.makeText(mContext, "Error, Send mail failed", Toast.LENGTH_SHORT).show();
                 }
             }
         };
index 34132f1..223740a 100644 (file)
@@ -43,6 +43,10 @@ import android.os.Build;
 import android.content.pm.ActivityInfo;
 import android.view.Display;
 import android.graphics.Point;
+import android.view.ViewConfiguration;
+import java.lang.reflect.Field;
+import android.view.Menu;
+import android.view.MenuItem;
 
 public class MainActivity extends AppCompatActivity implements MyService.MyServiceEventListener, CameraView.Callback {
 
@@ -184,53 +188,16 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi
         size.width = outPoint.x;
         size.height = outPoint.y;
 
-        /*if(outPoint.y > outPoint.x) {
-            size.height = outPoint.y;
-            size.width = outPoint.x;
-        } else {
-            size.height = outPoint.x;
-            size.width = outPoint.y;
-        }*/
         return size;
     }
 
     private void initCameraView (){
-//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
-//        requestWindowFeature(Window.FEATURE_NO_TITLE);
-//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
-//        ///setContentView(R.layout.activity_main);
-//        //getWindow().setNavigationBarColor(Color.TRANSPARENT);
-//
-//        View decorView = getWindow().getDecorView();
-//        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-//                | View.SYSTEM_UI_FLAG_FULLSCREEN;
-//        decorView.setSystemUiVisibility(uiOptions);
-//
-//
-//        ActionBar actionBar = getSupportActionBar();
-//        try {
-//            actionBar.hide();
-//        }catch (NullPointerException e){
-//            gLogger.error("initCameraView - " + e.getMessage());
-//            e.printStackTrace();
-//        }
-
-
-
-//        DisplayMetrics outMetrics = new DisplayMetrics();
-//        this.getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
-//
-//        CameraView.SCREEN_WIDTH = outMetrics.widthPixels;
-//        CameraView.SCREEN_HEIGHT = outMetrics.heightPixels;
-//        gLogger.debug("Screen size is w: " + CameraView.SCREEN_WIDTH  + ", h: " + CameraView.SCREEN_HEIGHT);
 
         ScreenSize size = getScreenSize();
-
         CameraView.SCREEN_WIDTH = size.width;
         CameraView.SCREEN_HEIGHT = size.height;
         gLogger.debug("Screen size is w: " + CameraView.SCREEN_WIDTH  + ", h: " + CameraView.SCREEN_HEIGHT);
 
-
         mCameraView = new CameraView(getApplicationContext(), this);
         setContentView(R.layout.activity_main);
 
@@ -329,6 +296,12 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi
         }
     }
 
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.main, menu);
+        return true;
+    }
+
     private String getMacAddr() {
         WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
         WifiInfo info = manager.getConnectionInfo();
@@ -337,9 +310,8 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi
     }
 
     private boolean canStartService(){
-
         if(System.getProperty("os.arch").equals("i686")){
-            return  true;
+            return true;
         }
         return mUsbMonitor.hasUsbCamera() && NetworkMonitor.isNetworkAvailable(this);
     }
@@ -372,6 +344,23 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi
         }
     }
 
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item)
+    {
+        switch (item.getItemId()) {
+            case R.id.action_settings:
+                Toast.makeText(MainActivity.this, "setting", Toast.LENGTH_SHORT).show();
+                break;
+            case R.id.action_mail:
+                gLogger.debug("onOptionsItemSelected - send mail button clicked");
+                LogUtil.sendLogs();
+                break;
+            case R.id.action_about:
+                break;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
     private void restartApplication() {
         final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());
         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -393,4 +382,18 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi
         }
         isFullScreen = !isFullScreen;
     }
+
+    private void getOverflowMenu() {
+
+        try {
+            ViewConfiguration config = ViewConfiguration.get(this);
+            Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
+            if(menuKeyField != null) {
+                menuKeyField.setAccessible(true);
+                menuKeyField.setBoolean(config, false);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }
index 347a188..757ea5c 100644 (file)
@@ -1,9 +1,17 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
-
     <item
         android:id="@+id/action_settings"
         android:orderInCategory="100"
         android:showAsAction="never"
         android:title="setting"/>
-
+    <item
+        android:id="@+id/action_mail"
+        android:orderInCategory="100"
+        android:showAsAction="never"
+        android:title="Send Problem Report"/>
+    <item
+        android:id="@+id/action_about"
+        android:orderInCategory="100"
+        android:showAsAction="never"
+        android:title="About"/>
 </menu>
\ No newline at end of file