Commit 6a359bbb authored by Thomas's avatar Thomas
Browse files

Redo upload

parent 42bdcaf6
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -19,11 +19,9 @@ import static app.fedilab.android.peertube.activities.PeertubeMainActivity.userM
import static app.fedilab.android.peertube.client.RetrofitPeertubeAPI.DataType.MY_CHANNELS;
import static app.fedilab.android.peertube.helper.Helper.peertubeInformation;

import android.Manifest;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
@@ -34,8 +32,6 @@ import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Toast;

import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.documentfile.provider.DocumentFile;
import androidx.lifecycle.ViewModelProvider;

@@ -269,22 +265,14 @@ public class PeertubeUploadActivity extends BaseBarActivity {
        });
        binding.setUploadFile.setEnabled(true);

        binding.setUploadFile.setOnClickListener(v -> {
            if (ContextCompat.checkSelfPermission(PeertubeUploadActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) !=
                    PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(PeertubeUploadActivity.this,
                        new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                        MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
                return;
            }
        binding.setUploadFile.setOnClickListener(v -> Helper.requestPermissionAndProceed(this, () -> {
            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            intent.setType("*/*");
            String[] mimetypes = {"video/*"};
            intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
            startActivityForResult(intent, PICK_IVDEO);

        });
        }));

        //Manage languages
        binding.setUploadChannel.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+23 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static app.fedilab.android.mastodon.helper.Helper.PREF_USER_TOKEN;
import static app.fedilab.android.mastodon.helper.Helper.dialogStyle;
import static app.fedilab.android.peertube.activities.PeertubeMainActivity.typeOfConnection;

import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DownloadManager;
@@ -28,6 +29,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -52,6 +54,7 @@ import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.preference.PreferenceManager;

@@ -766,6 +769,26 @@ public class Helper {
        }
    }

    public static void requestPermissionAndProceed(Activity activity, PermissionGranted permissionGranted) {
        if (Build.VERSION.SDK_INT >= 23) {
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
                if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                    ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, app.fedilab.android.mastodon.helper.Helper.EXTERNAL_STORAGE_REQUEST_CODE_MEDIA_SAVE);
                } else {
                    permissionGranted.proceed();
                }
            } else {
                permissionGranted.proceed();
            }
        } else {
            permissionGranted.proceed();
        }
    }

    public interface PermissionGranted {
        void proceed();
    }


    public static String readFileFromAssets(Context context, String filename) {
        String json;
+126 −104
Original line number Diff line number Diff line
@@ -18,33 +18,44 @@
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".peertube.activities.PeertubeUploadActivity">

    <LinearLayout
    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="50dp"
        android:orientation="vertical">

        <com.google.android.material.card.MaterialCardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="12dp"
            app:cardElevation="2dp">

            <androidx.appcompat.widget.LinearLayoutCompat
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="12dp"
                android:orientation="vertical">

        <LinearLayout
                <androidx.appcompat.widget.LinearLayoutCompat
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
            android:layout_marginStart="10dp"
                    android:orientation="horizontal">

            <TextView
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:labelFor="@+id/total_quota"
                        android:text="@string/total_video_quota" />

            <TextView
                    <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/total_quota_value"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="20dp" />
        </LinearLayout>
                </androidx.appcompat.widget.LinearLayoutCompat>

                <ProgressBar
                    android:id="@+id/total_quota"
@@ -57,25 +68,24 @@
                    android:max="100"
                    android:progressDrawable="@drawable/progress_bar" />

        <LinearLayout
                <androidx.appcompat.widget.LinearLayoutCompat
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
            android:layout_marginStart="10dp"
            android:layout_marginTop="20dp"
                    android:layout_marginTop="10dp"
                    android:orientation="horizontal">

            <TextView
                    <androidx.appcompat.widget.AppCompatTextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:labelFor="@+id/daily_quota"
                        android:text="@string/daily_video_quota" />

            <TextView
                    <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/daily_quota_value"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="20dp" />
        </LinearLayout>
                </androidx.appcompat.widget.LinearLayoutCompat>

                <ProgressBar
                    android:id="@+id/daily_quota"
@@ -83,14 +93,20 @@
                    android:layout_width="300dp"
                    android:layout_height="20dp"
                    android:layout_gravity="center"
                    android:layout_margin="12dp"
                    android:layout_marginTop="10dp"
                    android:indeterminate="false"
                    android:max="100"
                    android:progressDrawable="@drawable/progress_bar" />

        <Button
            </androidx.appcompat.widget.LinearLayoutCompat>

        </com.google.android.material.card.MaterialCardView>


        <com.google.android.material.button.MaterialButton
            android:id="@+id/set_upload_file"
            style="@style/Base.Widget.AppCompat.Button.Colored"
            style="@style/Widget.Material3.Button.OutlinedButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
@@ -100,7 +116,7 @@
            android:text="@string/file_to_upload"
            android:textSize="16sp" />

        <TextView
        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/set_upload_file_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
@@ -109,16 +125,21 @@
            android:gravity="center"
            android:visibility="gone" />

        <!-- Videos channels -->
        <LinearLayout
        <androidx.appcompat.widget.LinearLayoutCompat
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="20dp"
            android:orientation="horizontal">
            <!-- Videos channels -->
            <androidx.appcompat.widget.LinearLayoutCompat
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_weight="1"
                android:gravity="center_horizontal"
                android:orientation="vertical">

            <TextView
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
@@ -130,19 +151,18 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="16sp" />
        </LinearLayout>

            </androidx.appcompat.widget.LinearLayoutCompat>

            <!-- Videos Privacy -->
        <LinearLayout
            android:layout_width="match_parent"
            <androidx.appcompat.widget.LinearLayoutCompat
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
            android:layout_marginTop="20dp"
                android:layout_weight="1"
                android:gravity="center_horizontal"
                android:orientation="vertical">

            <TextView
                <androidx.appcompat.widget.AppCompatTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
@@ -154,7 +174,9 @@
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="16sp" />
        </LinearLayout>
            </androidx.appcompat.widget.LinearLayoutCompat>
        </androidx.appcompat.widget.LinearLayoutCompat>


        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="300dp"
@@ -175,9 +197,9 @@


        <!-- Videos upload submit -->
        <Button
        <com.google.android.material.button.MaterialButton
            android:id="@+id/set_upload_submit"
            style="@style/Base.Widget.AppCompat.Button.Colored"
            style="@style/Widget.Material3.Button.ElevatedButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
@@ -186,5 +208,5 @@
            android:gravity="center"
            android:text="@string/upload_video"
            android:textSize="18sp" />
    </LinearLayout>
    </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.core.widget.NestedScrollView>