Manual Merge master in foregroundService

base master
Several bug still present
- No notification
- No Upload
- Need more test
This commit is contained in:
lionel
2022-02-23 16:27:01 +01:00
parent 168e01e09a
commit f6b652fb7e
16 changed files with 893 additions and 802 deletions

View File

@ -2,31 +2,33 @@ package com.localtransfer;
import android.Manifest;
import android.app.Activity;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.preference.PreferenceManager;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Environment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.content.ContextCompat;
import androidx.preference.PreferenceManager;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.tabs.TabLayout;
import java.io.File;
import java.util.ArrayList;
@ -59,7 +61,18 @@ public class MainActivity extends AppCompatActivity {
}
});
checkAndRequestPermissions();
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.Q) {
checkAndRequestPermissions();
}
Transfer.notifBuilder = new Notification.Builder(this);
Transfer.notifiManager = NotificationManagerCompat.from(this);
Transfer.inflater = (LayoutInflater) this.getSystemService(this.LAYOUT_INFLATER_SERVICE);
Transfer.resolver = this.getContentResolver();
Intent notificationIntent = new Intent(this, MainActivity.class);
Transfer.pendingIntent = PendingIntent.getActivity(this,0, notificationIntent, 0);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
@ -78,14 +91,16 @@ public class MainActivity extends AppCompatActivity {
String action = intent.getAction();
String type = intent.getType();
Transfer tr = new Transfer();
if (Intent.ACTION_SEND.equals(action) && type != null) {
viewPager.setCurrentItem(2);
if ("text/plain".equals(type)) {
String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
Transfer.handleSendText(sharedText);
tr.handleSendText(sharedText);
} else {
Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
Transfer.handleSendFile(uri);
tr.handleSendFile(uri);
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
viewPager.setCurrentItem(2);
@ -93,7 +108,7 @@ public class MainActivity extends AppCompatActivity {
int nbItem = fileUris.size();
Toast.makeText(this, "You select " + nbItem + " files", Toast.LENGTH_SHORT).show();
if (fileUris != null)
for(Uri uri : fileUris) Transfer.handleSendFile(uri);
for(Uri uri : fileUris) tr.handleSendFile(uri);
}
}
@ -108,10 +123,11 @@ public class MainActivity extends AppCompatActivity {
ViewPager viewPager = this.findViewById(R.id.view_pager);
viewPager.setCurrentItem(2);
Transfer tr = new Transfer();
if (type != null) {
String sharedText = data.getStringExtra(Intent.EXTRA_TEXT);
Transfer.handleSendText(sharedText);
tr.handleSendText(sharedText);
}
else {
ArrayList<Uri> fileUris = new ArrayList<>();
@ -127,7 +143,7 @@ public class MainActivity extends AppCompatActivity {
fileUris.add(uri);
}
for (Uri uri : fileUris) {
Transfer.handleSendFile(uri);
tr.handleSendFile(uri);
}
}
}
@ -137,14 +153,14 @@ public class MainActivity extends AppCompatActivity {
public void onResume(){
super.onResume();
Progress.app_started = true;
Transfer.app_started = true;
}
@Override
public void onPause(){
super.onPause();
Progress.app_started = false;
Transfer.app_started = false;
}
@Override