Add overflow on action bar
[rtmpclient.git] / app / src / main / java / ai / suanzi / rtmpclient / MainActivity.java
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();
+        }
+    }
 }