|
|
|
@ -8,21 +8,33 @@ import androidx.activity.result.ActivityResultLauncher;
|
|
|
|
|
import androidx.activity.result.contract.ActivityResultContracts;
|
|
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
|
import androidx.core.app.ActivityCompat;
|
|
|
|
|
import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
|
|
|
|
|
|
|
import android.Manifest;
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.content.pm.PackageManager;
|
|
|
|
|
import android.hardware.camera2.CameraAccessException;
|
|
|
|
|
import android.hardware.camera2.CameraManager;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.widget.AdapterView;
|
|
|
|
|
import android.widget.Button;
|
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
|
|
import com.xypower.mppreview.adapter.ItemAdapter;
|
|
|
|
|
import com.xypower.mppreview.interfaces.OnItemClickListener;
|
|
|
|
|
import com.xypower.mppreview.ui.CameraActivity;
|
|
|
|
|
import com.xypower.mppreview.ui.CameraChannelActivity;
|
|
|
|
|
import com.xypower.mppreview.utils.PhotoUtil;
|
|
|
|
|
import com.xypower.mppreview.bean.Contants;
|
|
|
|
|
import com.xypower.mppreview.databinding.ActivityMainBinding;
|
|
|
|
|
import com.xypower.mppreview.utils.CameraUtils;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
public class MainActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemSelectedListener {
|
|
|
|
|
public class MainActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemSelectedListener, OnItemClickListener {
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
loadLibrary("mppreview");
|
|
|
|
@ -36,6 +48,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|
|
|
|
private ActivityResultLauncher<Intent> photoResultLauncher;
|
|
|
|
|
private int picsize = 0;
|
|
|
|
|
private com.xypower.mppreview.databinding.ActivityMainBinding viewBinding;
|
|
|
|
|
private int numberOfCameras;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected native void test();
|
|
|
|
@ -43,7 +56,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|
|
|
|
@Override
|
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
viewBinding = ActivityMainBinding.inflate(getLayoutInflater());
|
|
|
|
|
viewBinding = com.xypower.mppreview.databinding.ActivityMainBinding.inflate(getLayoutInflater());
|
|
|
|
|
setContentView(viewBinding.getRoot());
|
|
|
|
|
initView();
|
|
|
|
|
initActivityResult();
|
|
|
|
@ -85,12 +98,19 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|
|
|
|
viewBinding.hdrtakepic.setOnClickListener(this);
|
|
|
|
|
viewBinding.systakepic.setOnClickListener(this);
|
|
|
|
|
viewBinding.spinner.setOnItemSelectedListener(this);
|
|
|
|
|
viewBinding.channel1.setOnClickListener(this);
|
|
|
|
|
viewBinding.channel2.setOnClickListener(this);
|
|
|
|
|
viewBinding.channel3.setOnClickListener(this);
|
|
|
|
|
viewBinding.channel4.setOnClickListener(this);
|
|
|
|
|
viewBinding.channel5.setOnClickListener(this);
|
|
|
|
|
viewBinding.channel6.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel1.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel2.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel3.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel4.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel5.setOnClickListener(this);
|
|
|
|
|
// viewBinding.channel6.setOnClickListener(this);
|
|
|
|
|
numberOfCameras = CameraUtils.getNumberOfCameras(this);
|
|
|
|
|
ItemAdapter itemAdapter = new ItemAdapter(numberOfCameras);
|
|
|
|
|
itemAdapter.setOnClickListener(this);
|
|
|
|
|
viewBinding.recyclerView.setAdapter(itemAdapter);
|
|
|
|
|
viewBinding.recyclerView.setLayoutManager(new GridLayoutManager(this,3));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void initActivityResult() {
|
|
|
|
@ -138,28 +158,40 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|
|
|
|
case R.id.systakepic:
|
|
|
|
|
PhotoUtil.openCamera(this, photoResultLauncher);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel1:
|
|
|
|
|
openChannelActivity(0);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel2:
|
|
|
|
|
openChannelActivity(1);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel3:
|
|
|
|
|
openChannelActivity(2);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel4:
|
|
|
|
|
openChannelActivity(3);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel5:
|
|
|
|
|
openChannelActivity(4);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.channel6:
|
|
|
|
|
openChannelActivity(5);
|
|
|
|
|
break;
|
|
|
|
|
// case R.id.channel1:
|
|
|
|
|
// openChannelActivity(0);
|
|
|
|
|
// break;
|
|
|
|
|
// case R.id.channel2:
|
|
|
|
|
// openChannelActivity(1);
|
|
|
|
|
// break;
|
|
|
|
|
// case R.id.channel3:
|
|
|
|
|
// openChannelActivity(2);
|
|
|
|
|
// break;
|
|
|
|
|
// case R.id.channel4:
|
|
|
|
|
// openChannelActivity(3);
|
|
|
|
|
// break;
|
|
|
|
|
// case R.id.channel5:
|
|
|
|
|
// openChannelActivity(4);
|
|
|
|
|
// break;
|
|
|
|
|
// case R.id.channel6:
|
|
|
|
|
// openChannelActivity(5);
|
|
|
|
|
// break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static int getNumberOfCameras(Context context) {
|
|
|
|
|
CameraManager manager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
|
|
|
|
|
try {
|
|
|
|
|
String[] cameraIds = manager.getCameraIdList();
|
|
|
|
|
return cameraIds.length;
|
|
|
|
|
} catch (CameraAccessException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return 0; // 如果发生异常,返回0个摄像头
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void openChannelActivity(int channel) {
|
|
|
|
|
Intent intent = new Intent(this, CameraChannelActivity.class);
|
|
|
|
|
intent.putExtra(Contants.CAMERAID, channel);
|
|
|
|
@ -176,4 +208,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|
|
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onItemClick(View v, int position) {
|
|
|
|
|
openChannelActivity(position);
|
|
|
|
|
}
|
|
|
|
|
}
|