Search in sources :

Example 1 with MediaProjectionManager

use of android.media.projection.MediaProjectionManager in project Telecine by JakeWharton.

the class CaptureHelper method fireScreenCaptureIntent.

static void fireScreenCaptureIntent(Activity activity, Analytics analytics) {
    MediaProjectionManager manager = (MediaProjectionManager) activity.getSystemService(MEDIA_PROJECTION_SERVICE);
    Intent intent = manager.createScreenCaptureIntent();
    activity.startActivityForResult(intent, CREATE_SCREEN_CAPTURE);
    analytics.send(// 
    new HitBuilders.EventBuilder().setCategory(Analytics.CATEGORY_SETTINGS).setAction(Analytics.ACTION_CAPTURE_INTENT_LAUNCH).build());
}
Also used : MediaProjectionManager(android.media.projection.MediaProjectionManager) Intent(android.content.Intent)

Example 2 with MediaProjectionManager

use of android.media.projection.MediaProjectionManager in project cw-omnibus by commonsguy.

the class RecorderService method startRecorder.

private synchronized void startRecorder() {
    if (session == null) {
        MediaProjectionManager mgr = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
        MediaProjection projection = mgr.getMediaProjection(resultCode, resultData);
        session = new RecordingSession(this, new RecordingConfig(this), projection);
        session.start();
    }
}
Also used : MediaProjectionManager(android.media.projection.MediaProjectionManager) MediaProjection(android.media.projection.MediaProjection)

Example 3 with MediaProjectionManager

use of android.media.projection.MediaProjectionManager in project buglife-android by Buglife.

the class ScreenRecordingPermissionHelper method onOverlayPermissionsGranted.

private void onOverlayPermissionsGranted() {
    MediaProjectionManager manager = (MediaProjectionManager) getContext().getSystemService(MEDIA_PROJECTION_SERVICE);
    Intent intent = manager.createScreenCaptureIntent();
    startActivityForResult(intent, SCREEN_RECORD_REQUEST_CODE);
}
Also used : MediaProjectionManager(android.media.projection.MediaProjectionManager) Intent(android.content.Intent)

Example 4 with MediaProjectionManager

use of android.media.projection.MediaProjectionManager in project habpanelviewer by vbier.

the class MainActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    EventBus.getDefault().register(this);
    try {
        ConnectionUtil.initialize(this);
    } catch (Exception e) {
        Toast.makeText(MainActivity.this, R.string.sslFailed, Toast.LENGTH_LONG).show();
    }
    setContentView(R.layout.activity_main);
    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
    // inflate navigation header to make sure the textview holding the connection text is created
    NavigationView navigationView = findViewById(R.id.nav_view);
    LinearLayout navHeader = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.nav_header_main, null);
    navigationView.addHeaderView(navHeader);
    navigationView.setNavigationItemSelectedListener(this);
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
    if (mServerConnection == null) {
        mServerConnection = new ServerConnection(this);
        mServerConnection.addConnectionListener(this);
    }
    if (mConnections == null) {
        mConnections = new ConnectionStatistics(this);
    }
    if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && mFlashService == null) {
            try {
                mFlashService = new FlashHandler(this, (CameraManager) getSystemService(Context.CAMERA_SERVICE));
            } catch (CameraAccessException | IllegalAccessException e) {
                Log.d(TAG, "Could not create flash controller");
            }
        }
        if (mCam == null) {
            mCam = new Camera(this, findViewById(R.id.previewView), prefs);
        }
        if (mMotionVisualizer == null) {
            int scaledSize = getResources().getDimensionPixelSize(R.dimen.motionFontSize);
            final SurfaceView motionView = findViewById(R.id.motionView);
            mMotionVisualizer = new MotionVisualizer(motionView, navigationView, prefs, mCam.getSensorOrientation(), scaledSize);
            mMotionDetector = new MotionDetector(this, mCam, mMotionVisualizer, mServerConnection);
        }
    }
    if (mDiscovery == null) {
        mDiscovery = new ServerDiscovery((NsdManager) getSystemService(Context.NSD_SERVICE));
    }
    if (prefs.getBoolean("pref_first_start", true)) {
        SharedPreferences.Editor editor1 = prefs.edit();
        editor1.putBoolean("pref_first_start", false);
        editor1.putString("pref_app_version", BuildConfig.VERSION_NAME);
        editor1.apply();
        final String startText = ResourcesUtil.fetchFirstStart(this);
        UiUtil.showScrollDialog(this, "HABPanelViewer", getString(R.string.welcome), startText);
        if (prefs.getString("pref_server_url", "").isEmpty()) {
            mDiscovery.discover(new ServerDiscovery.DiscoveryListener() {

                @Override
                public void found(String serverUrl) {
                    SharedPreferences.Editor editor1 = prefs.edit();
                    editor1.putString("pref_server_url", serverUrl);
                    editor1.apply();
                }

                @Override
                public void notFound() {
                }
            }, true, true);
        }
    } else {
        // make sure old server url preference is used in case it is still set
        if (prefs.getString("pref_server_url", "").isEmpty()) {
            final String oldUrl = prefs.getString("pref_url", "");
            if (!oldUrl.isEmpty()) {
                SharedPreferences.Editor editor1 = prefs.edit();
                editor1.putString("pref_server_url", oldUrl);
                editor1.remove("pref_url");
                editor1.apply();
            }
        }
        String lastVersion = prefs.getString("pref_app_version", "0.9.2");
        if (!BuildConfig.VERSION_NAME.equals(lastVersion)) {
            SharedPreferences.Editor editor1 = prefs.edit();
            editor1.putString("pref_app_version", BuildConfig.VERSION_NAME);
            editor1.apply();
            final String relText = ResourcesUtil.fetchReleaseNotes(this, lastVersion);
            UiUtil.showScrollDialog(this, getString(R.string.updated), getString(R.string.updatedText), relText);
        }
    }
    if (mBatteryMonitor == null) {
        mBatteryMonitor = new BatteryMonitor(this, mServerConnection);
    }
    if (mVolumeMonitor == null) {
        mVolumeMonitor = new VolumeMonitor(this, (AudioManager) getSystemService(Context.AUDIO_SERVICE), mServerConnection);
    }
    if (mConnectedReporter == null) {
        mConnectedReporter = new ConnectedIndicator(this, mServerConnection);
    }
    SensorManager m = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    if (mProximityMonitor == null && getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_PROXIMITY)) {
        try {
            mProximityMonitor = new ProximityMonitor(this, m, mServerConnection);
        } catch (SensorMissingException e) {
            Log.d(TAG, "Could not create proximity monitor");
        }
    }
    if (mBrightnessMonitor == null && getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_LIGHT)) {
        try {
            mBrightnessMonitor = new BrightnessMonitor(this, m, mServerConnection);
        } catch (SensorMissingException e) {
            Log.d(TAG, "Could not create brightness monitor");
        }
    }
    if (mPressureMonitor == null && getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER)) {
        try {
            mPressureMonitor = new PressureMonitor(this, m, mServerConnection);
        } catch (SensorMissingException e) {
            Log.d(TAG, "Could not create pressure monitor");
        }
    }
    if (mTemperatureMonitor == null && getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_AMBIENT_TEMPERATURE)) {
        try {
            mTemperatureMonitor = new TemperatureMonitor(this, m, mServerConnection);
        } catch (SensorMissingException e) {
            Log.d(TAG, "Could not create temperature monitor");
        }
    }
    if (mCommandQueue == null) {
        ScreenHandler mScreenHandler = new ScreenHandler((PowerManager) getSystemService(POWER_SERVICE), this);
        mCommandQueue = new CommandQueue(this, mServerConnection);
        mCommandQueue.addHandler(new InternalCommandHandler(this, mMotionDetector, mServerConnection));
        mCommandQueue.addHandler(new AdminHandler(this));
        mCommandQueue.addHandler(new BluetoothHandler(this, (BluetoothManager) getSystemService(BLUETOOTH_SERVICE)));
        mCommandQueue.addHandler(mScreenHandler);
        mCommandQueue.addHandler(new VolumeHandler(this, (AudioManager) getSystemService(Context.AUDIO_SERVICE)));
        if (mFlashService != null) {
            mCommandQueue.addHandler(mFlashService);
        }
    }
    mRestartCount = getIntent().getIntExtra("restartCount", 0);
    showInitialToastMessage(mRestartCount);
    mTextView = navHeader.findViewById(R.id.textView);
    mWebView = findViewById(R.id.activity_main_webview);
    mWebView.initialize(new IConnectionListener() {

        @Override
        public void connected(String url) {
        }

        @Override
        public void disconnected() {
            if (prefs.getBoolean("pref_track_browser_connection", false)) {
                mServerConnection.reconnect();
            }
        }
    });
    mCommandQueue.addHandler(new WebViewHandler(mWebView));
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        MediaProjectionManager projectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
        startActivityForResult(projectionManager.createScreenCaptureIntent(), ScreenCapturer.REQUEST_MEDIA_PROJECTION);
    }
}
Also used : NavigationView(android.support.design.widget.NavigationView) FlashHandler(de.vier_bier.habpanelviewer.command.FlashHandler) ConnectedIndicator(de.vier_bier.habpanelviewer.reporting.ConnectedIndicator) MotionVisualizer(de.vier_bier.habpanelviewer.reporting.motion.MotionVisualizer) CommandQueue(de.vier_bier.habpanelviewer.command.CommandQueue) BluetoothManager(android.bluetooth.BluetoothManager) ServerDiscovery(de.vier_bier.habpanelviewer.openhab.ServerDiscovery) BatteryMonitor(de.vier_bier.habpanelviewer.reporting.BatteryMonitor) CameraAccessException(android.hardware.camera2.CameraAccessException) AudioManager(android.media.AudioManager) AdminHandler(de.vier_bier.habpanelviewer.command.AdminHandler) IMotionDetector(de.vier_bier.habpanelviewer.reporting.motion.IMotionDetector) MotionDetector(de.vier_bier.habpanelviewer.reporting.motion.MotionDetector) ScreenHandler(de.vier_bier.habpanelviewer.command.ScreenHandler) Camera(de.vier_bier.habpanelviewer.reporting.motion.Camera) NsdManager(android.net.nsd.NsdManager) SurfaceView(android.view.SurfaceView) VolumeHandler(de.vier_bier.habpanelviewer.command.VolumeHandler) WebViewHandler(de.vier_bier.habpanelviewer.command.WebViewHandler) SharedPreferences(android.content.SharedPreferences) BluetoothHandler(de.vier_bier.habpanelviewer.command.BluetoothHandler) BrightnessMonitor(de.vier_bier.habpanelviewer.reporting.BrightnessMonitor) ServerConnection(de.vier_bier.habpanelviewer.openhab.ServerConnection) CameraManager(android.hardware.camera2.CameraManager) ProximityMonitor(de.vier_bier.habpanelviewer.reporting.ProximityMonitor) SensorMissingException(de.vier_bier.habpanelviewer.reporting.SensorMissingException) CameraException(de.vier_bier.habpanelviewer.reporting.motion.CameraException) CameraAccessException(android.hardware.camera2.CameraAccessException) Point(android.graphics.Point) PressureMonitor(de.vier_bier.habpanelviewer.reporting.PressureMonitor) MediaProjectionManager(android.media.projection.MediaProjectionManager) SensorManager(android.hardware.SensorManager) IConnectionListener(de.vier_bier.habpanelviewer.openhab.IConnectionListener) TemperatureMonitor(de.vier_bier.habpanelviewer.reporting.TemperatureMonitor) SensorMissingException(de.vier_bier.habpanelviewer.reporting.SensorMissingException) VolumeMonitor(de.vier_bier.habpanelviewer.reporting.VolumeMonitor) InternalCommandHandler(de.vier_bier.habpanelviewer.command.InternalCommandHandler) LinearLayout(android.widget.LinearLayout)

Example 5 with MediaProjectionManager

use of android.media.projection.MediaProjectionManager in project QrCodeScanner by ekibun.

the class NavigateActivity method openScreenShot.

private void openScreenShot() {
    MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
    Intent permissionIntent = mediaProjectionManager.createScreenCaptureIntent();
    startActivityForResult(permissionIntent, REQUEST_CAPTURE_CODE);
}
Also used : MediaProjectionManager(android.media.projection.MediaProjectionManager) Intent(android.content.Intent)

Aggregations

MediaProjectionManager (android.media.projection.MediaProjectionManager)5 Intent (android.content.Intent)3 BluetoothManager (android.bluetooth.BluetoothManager)1 SharedPreferences (android.content.SharedPreferences)1 Point (android.graphics.Point)1 SensorManager (android.hardware.SensorManager)1 CameraAccessException (android.hardware.camera2.CameraAccessException)1 CameraManager (android.hardware.camera2.CameraManager)1 AudioManager (android.media.AudioManager)1 MediaProjection (android.media.projection.MediaProjection)1 NsdManager (android.net.nsd.NsdManager)1 NavigationView (android.support.design.widget.NavigationView)1 SurfaceView (android.view.SurfaceView)1 LinearLayout (android.widget.LinearLayout)1 AdminHandler (de.vier_bier.habpanelviewer.command.AdminHandler)1 BluetoothHandler (de.vier_bier.habpanelviewer.command.BluetoothHandler)1 CommandQueue (de.vier_bier.habpanelviewer.command.CommandQueue)1 FlashHandler (de.vier_bier.habpanelviewer.command.FlashHandler)1 InternalCommandHandler (de.vier_bier.habpanelviewer.command.InternalCommandHandler)1 ScreenHandler (de.vier_bier.habpanelviewer.command.ScreenHandler)1