/*
PermissionReceiverActivity.java
Copyright (c) 2014 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.host.recorder.screen;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.media.projection.MediaProjectionManager;
import android.os.Bundle;
import android.os.ResultReceiver;
import android.view.Window;
/**
* Permission Receiver Activity.
*
* @author NTT DOCOMO, INC.
*/
@TargetApi(21)
public class PermissionReceiverActivity extends Activity {
private static final int REQUEST_CODE = 1;
private MediaProjectionManager mManager;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
mManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
Intent intent = mManager.createScreenCaptureIntent();
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode,
final Intent data) {
if (requestCode != REQUEST_CODE) {
return;
}
Bundle response = new Bundle();
response.putParcelable(HostDeviceScreenCast.RESULT_DATA, data);
ResultReceiver callback = getIntent().getParcelableExtra(HostDeviceScreenCast.EXTRA_CALLBACK);
callback.send(Activity.RESULT_OK, response);
finish();
}
}