mirror of
https://github.com/lacerta-doc/Lacerta.git
synced 2024-11-26 09:43:15 +00:00
WIP 結果をプレビューするロジック実装
This commit is contained in:
parent
9ec45096ba
commit
b3dcaefede
|
@ -8,12 +8,15 @@ import android.os.Bundle;
|
||||||
import androidx.activity.result.ActivityResultLauncher;
|
import androidx.activity.result.ActivityResultLauncher;
|
||||||
import androidx.activity.result.contract.ActivityResultContracts;
|
import androidx.activity.result.contract.ActivityResultContracts;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -25,7 +28,7 @@ import java.util.ArrayList;
|
||||||
public class ScannerDataManagerStubFragment extends Fragment {
|
public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
|
|
||||||
// Results
|
// Results
|
||||||
private ArrayList<Bitmap> results = new ArrayList<>();
|
private ArrayList<CapturedData> results = new ArrayList<>();
|
||||||
private final ActivityResultLauncher<Intent> cameraLauncher = registerForActivityResult(
|
private final ActivityResultLauncher<Intent> cameraLauncher = registerForActivityResult(
|
||||||
new ActivityResultContracts.StartActivityForResult(),
|
new ActivityResultContracts.StartActivityForResult(),
|
||||||
result -> {
|
result -> {
|
||||||
|
@ -33,7 +36,8 @@ public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
Intent data = result.getData();
|
Intent data = result.getData();
|
||||||
Bundle extras = data.getExtras();
|
Bundle extras = data.getExtras();
|
||||||
Bitmap imageBitmap = (Bitmap) extras.get("data");
|
Bitmap imageBitmap = (Bitmap) extras.get("data");
|
||||||
results.add(imageBitmap);
|
// TODO-rca: エラーハンドリング
|
||||||
|
results.add(new CapturedData("Placeholder", Integer.toString(imageBitmap.getHeight()), Integer.toString(imageBitmap.getWidth()), "Placeholder", imageBitmap));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -77,4 +81,68 @@ public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
Log.d("ScannerDataManagerStubFragment", "onResume");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateResults() {
|
||||||
|
Log.d("ScannerDataManagerStubFragment", "updateResults");
|
||||||
|
|
||||||
|
// TODO-rca: エラーハンドリング
|
||||||
|
RecyclerView recyclerView = getView().findViewById(R.id.result_recycler_view);
|
||||||
|
|
||||||
|
recyclerView.setLayoutManager(new androidx.recyclerview.widget.LinearLayoutManager(getContext()));
|
||||||
|
recyclerView.setAdapter(new ResultAdapter(this.results));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ResultAdapter extends RecyclerView.Adapter<ResultAdapter.ViewHolder> {
|
||||||
|
private final ArrayList<CapturedData> results;
|
||||||
|
|
||||||
|
public ResultAdapter(ArrayList<CapturedData> results) {
|
||||||
|
this.results = results;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||||
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_scanner_component_manager_stub, parent, false);
|
||||||
|
return new ResultAdapter.ViewHolder(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(ResultAdapter.ViewHolder holder, int position) {
|
||||||
|
CapturedData result = results.get(position);
|
||||||
|
holder.textViewPath.setText(result.getPath());
|
||||||
|
holder.textViewResolutionHeight.setText(result.getResolutionHeight());
|
||||||
|
holder.textViewResolutionWidth.setText(result.getResolutionWidth());
|
||||||
|
holder.imageView.setImageBitmap(result.getBitmap());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemCount() {
|
||||||
|
return results.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
|
public TextView textViewPath;
|
||||||
|
public TextView textViewResolutionHeight;
|
||||||
|
public TextView textViewResolutionWidth;
|
||||||
|
public ImageView imageView;
|
||||||
|
|
||||||
|
public ViewHolder(View view) {
|
||||||
|
super(view);
|
||||||
|
textViewPath = view.findViewById(R.id.textViewPath);
|
||||||
|
textViewResolutionHeight = view.findViewById(R.id.textViewResHeight);
|
||||||
|
textViewResolutionWidth = view.findViewById(R.id.textViewResWidth);
|
||||||
|
imageView = view.findViewById(R.id.imageViewResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user