diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b2fde79..2bdd423 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,6 +15,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.AsgardiusS3Manager"
tools:targetApi="31">
+
diff --git a/app/src/main/java/asgardius/page/s3manager/Adapter.java b/app/src/main/java/asgardius/page/s3manager/Adapter.java
index 6ac1f2a..4d0e91a 100644
--- a/app/src/main/java/asgardius/page/s3manager/Adapter.java
+++ b/app/src/main/java/asgardius/page/s3manager/Adapter.java
@@ -10,6 +10,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
+import asgardius.page.s3manager.BucketSelect;
public class Adapter extends RecyclerView.Adapter{
ArrayList Img, Name;
@@ -35,12 +36,6 @@ public class Adapter extends RecyclerView.Adapter{
int res = (int) Img.get(position);
holder.images.setImageResource(res);
holder.text.setText((CharSequence) Name.get(position));
- holder.text.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- System.out.println("Click on "+Integer.toString(position));
- }
- });
}
@Override
public int getItemCount() {
diff --git a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
index 2778a7a..47c903a 100644
--- a/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
+++ b/app/src/main/java/asgardius/page/s3manager/BucketSelect.java
@@ -6,8 +6,10 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.view.View;
import android.widget.Toast;
import com.amazonaws.auth.AWSCredentials;
@@ -27,13 +29,14 @@ public class BucketSelect extends AppCompatActivity {
ArrayList Name;
ArrayList Img;
RecyclerView recyclerView;
+ String username, password, endpoint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- String endpoint = getIntent().getStringExtra("endpoint");
- String username = getIntent().getStringExtra("username");
- String password = getIntent().getStringExtra("password");
+ endpoint = getIntent().getStringExtra("endpoint");
+ username = getIntent().getStringExtra("username");
+ password = getIntent().getStringExtra("password");
setContentView(R.layout.activity_bucket_select);
Region region = Region.getRegion(US_EAST_1);
S3ClientOptions s3ClientOptions = S3ClientOptions.builder().build();
@@ -100,5 +103,26 @@ public class BucketSelect extends AppCompatActivity {
listbucket.start();
//listbucket list = new listbucket();
//list.execute("test");
+ recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerView, new RecyclerTouchListener.ClickListener() {
+ @Override
+ public void onClick(View view, int position) {
+ System.out.println("Click on "+Integer.toString(position));
+ }
+
+ @Override
+ public void onLongClick(View view, int position) {
+ System.out.println("Long click on "+Integer.toString(position));
+ }
+ }));
+ }
+
+ private void explorer() {
+
+ Intent intent = new Intent(this, BucketSelect.class);
+ intent.putExtra("endpoint", endpoint);
+ intent.putExtra("username", username);
+ intent.putExtra("password", password);
+ startActivity(intent);
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
new file mode 100644
index 0000000..9a7c451
--- /dev/null
+++ b/app/src/main/java/asgardius/page/s3manager/ObjectSelect.java
@@ -0,0 +1,14 @@
+package asgardius.page.s3manager;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+public class ObjectSelect extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_object_select);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/asgardius/page/s3manager/RecyclerTouchListener.java b/app/src/main/java/asgardius/page/s3manager/RecyclerTouchListener.java
new file mode 100644
index 0000000..1b566f5
--- /dev/null
+++ b/app/src/main/java/asgardius/page/s3manager/RecyclerTouchListener.java
@@ -0,0 +1,57 @@
+package asgardius.page.s3manager;
+
+import android.content.Context;
+import android.view.GestureDetector;
+import android.view.MotionEvent;
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+public class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {
+
+ private GestureDetector gestureDetector;
+ private ClickListener clickListener;
+
+ public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) {
+ this.clickListener = clickListener;
+ gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
+ @Override
+ public boolean onSingleTapUp(MotionEvent e) {
+ return true;
+ }
+
+ @Override
+ public void onLongPress(MotionEvent e) {
+ View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
+ if (child != null && clickListener != null) {
+ clickListener.onLongClick(child, recyclerView.getChildPosition(child));
+ }
+ }
+ });
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
+
+ View child = rv.findChildViewUnder(e.getX(), e.getY());
+ if (child != null && clickListener != null && gestureDetector.onTouchEvent(e)) {
+ clickListener.onClick(child, rv.getChildPosition(child));
+ }
+ return false;
+ }
+
+ @Override
+ public void onTouchEvent(RecyclerView rv, MotionEvent e) {
+ }
+
+ @Override
+ public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
+
+ }
+
+ public interface ClickListener {
+ void onClick(View view, int position);
+
+ void onLongClick(View view, int position);
+ }
+}
diff --git a/app/src/main/res/layout/activity_object_select.xml b/app/src/main/res/layout/activity_object_select.xml
new file mode 100644
index 0000000..31e37ad
--- /dev/null
+++ b/app/src/main/res/layout/activity_object_select.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file