X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FMainActivity.java;h=5779298d26f34fcbe9edc831d3b193b7efe5c5c8;hb=d1a43ff97228c10a4eaef604bd40eb8be3fcf8f6;hp=33ac4a62dc6c6e71146add80621cf6cb87494f6e;hpb=f04505b3a75a030de282ff394e8e11d2e93ace17;p=rtmpclient.git diff --git a/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java b/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java index 33ac4a6..5779298 100644 --- a/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java +++ b/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java @@ -32,6 +32,21 @@ import ai.suanzi.rtmpclient.MyService.LocalBinder; import android.os.IBinder; import android.net.ConnectivityManager; import android.view.ViewGroup; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.client.methods.CloseableHttpResponse; + +//import org.apache.http.client.methods; +import android.view.MotionEvent; +import android.graphics.Color; +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 { @@ -44,6 +59,7 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi boolean mBounded = false; MyService mServer; Intent mIntent; + private boolean isFullScreen = false; private CameraView mCameraView; @@ -130,9 +146,9 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi mServer.startPreview(mCameraView.getHolder()); Camera.Size cs = mServer.getBestPictureSize(); mCameraView.setLayout(cs.width, cs.height); + } else { + gLogger.error("onServiceConnected - setRtmpUrl failed"); } - - } }; @@ -153,23 +169,34 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi } } - 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); - - ActionBar actionBar = getSupportActionBar(); - actionBar.hide(); + private class ScreenSize { + public ScreenSize(){ } + public int width = 0; + public int height = 0; + } - DisplayMetrics outMetrics = new DisplayMetrics(); - this.getWindowManager().getDefaultDisplay().getMetrics(outMetrics); + private ScreenSize getScreenSize(){ + ScreenSize size = new ScreenSize(); + WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); + final Display display = windowManager.getDefaultDisplay(); + Point outPoint = new Point(); + if(Build.VERSION.SDK_INT >= 19) { + display.getRealSize(outPoint); // include navigation bar + } else { + display.getSize(outPoint); // exclude navigation bar + } + size.width = outPoint.x; + size.height = outPoint.y; - CameraView.SCREEN_WIDTH = outMetrics.widthPixels; - CameraView.SCREEN_HEIGHT = outMetrics.heightPixels; - gLogger.debug("Screen size is w: " + CameraView.SCREEN_WIDTH + ", h: " + CameraView.SCREEN_HEIGHT); + return size; + } + private void initCameraView (){ + 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); @@ -201,20 +228,20 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi } ////////// LogUtil.sendLogs(); /// Log test //LogUtil.sendLogs(); - - new CheckVersionInfoTask(MainActivity.this).execute(); + // test + //new CheckVersionInfoTask(MainActivity.this).execute(); } @Override protected void onPause(){ super.onPause(); - gLogger.error("OnPause --------->"); + gLogger.debug("OnPause --------->"); } @Override protected void onResume() { super.onResume(); - gLogger.error("OnResume ---------> "); + gLogger.debug("OnResume ---------> "); } @Override @@ -246,13 +273,35 @@ public class MainActivity extends AppCompatActivity implements MyService.MyServi @Override public void onBackPressed() { - gLogger.error("onBackPressed --------->"); + gLogger.debug("onBackPressed --------->"); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } + @Override + public boolean onTouchEvent(MotionEvent event) { + if(event.getAction() == MotionEvent.ACTION_UP) { + toggleFullScreen(); + } + return super.onTouchEvent(event); + } + + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + if (hasFocus && Build.VERSION.SDK_INT >= 19) { + toggleFullScreen(); + } + } + + @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(); @@ -261,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); } @@ -296,9 +344,59 @@ 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; + case R.id.action_update: + gLogger.debug("onOptionsItemSelected - check update"); + new CheckVersionInfoTask(this).execute(); + } + return super.onOptionsItemSelected(item); + } + private void restartApplication() { final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } + + private void toggleFullScreen (){ + View decorView = getWindow().getDecorView(); + if(!isFullScreen) { + decorView.setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); + } else { + decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_VISIBLE); + } + 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(); + } + } }