add logo
| @@ -10,8 +10,8 @@ android { | |||||||
|         applicationId "it.purser.stream" |         applicationId "it.purser.stream" | ||||||
|         minSdkVersion 25 |         minSdkVersion 25 | ||||||
|         targetSdkVersion 29 |         targetSdkVersion 29 | ||||||
|         versionCode 106 |         versionCode 107 | ||||||
|         versionName "106.0" |         versionName "107.0" | ||||||
|  |  | ||||||
|         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" |         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | ||||||
|     } |     } | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								app/app/src/main/ic_launcher-playstore.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 12 KiB | 
| @@ -4,16 +4,25 @@ import android.app.Activity; | |||||||
| import android.content.Intent; | import android.content.Intent; | ||||||
| import android.net.Uri; | import android.net.Uri; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import java.util.HashSet; | import java.util.TreeMap; | ||||||
| import java.util.Locale; | import java.util.Locale; | ||||||
|  |  | ||||||
| public class ShareActivity extends Activity { | public class ShareActivity extends Activity { | ||||||
|     private Uri getSharedLink() { |     private class Upstream { | ||||||
|         HashSet<String> domains = new HashSet<>(); |         private Uri uri = null; | ||||||
|         domains.add("youtu.be"); |         private String provider = null; | ||||||
|         domains.add("youtube.com"); |         private Upstream(Uri uri, String provider) { | ||||||
|         domains.add("www.youtube.com"); |             this.uri = uri; | ||||||
|         domains.add("tv.nrk.no"); |             this.provider = provider; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     private Upstream getSharedLink() { | ||||||
|  |         TreeMap<String,String> domains = new TreeMap<>(); | ||||||
|  |         domains.put("youtu.be", "youtube"); | ||||||
|  |         domains.put("youtube.com", "youtube"); | ||||||
|  |         domains.put("www.youtube.com", "youtube"); | ||||||
|  |         domains.put("tv.nrk.no", "nrk"); | ||||||
|  |         domains.put("nx12210.your-storageshare.de", "nextcloud"); | ||||||
|  |  | ||||||
|         Intent intent = getIntent(); |         Intent intent = getIntent(); | ||||||
|         Bundle bundle = intent.getExtras(); |         Bundle bundle = intent.getExtras(); | ||||||
| @@ -22,7 +31,7 @@ public class ShareActivity extends Activity { | |||||||
|                 String txt = (String) bundle.get(key); |                 String txt = (String) bundle.get(key); | ||||||
|                 Uri uri = Uri.parse(txt); |                 Uri uri = Uri.parse(txt); | ||||||
|                 String host = uri.getHost().toLowerCase(Locale.ROOT); |                 String host = uri.getHost().toLowerCase(Locale.ROOT); | ||||||
|                 if(domains.contains(host)) { |                 if(domains.containsKey(host)) { | ||||||
|                     if(host.contains("youtube.com")) { |                     if(host.contains("youtube.com")) { | ||||||
|                         Uri.Builder builder = new Uri.Builder(); |                         Uri.Builder builder = new Uri.Builder(); | ||||||
|                         builder.authority(host); |                         builder.authority(host); | ||||||
| @@ -30,10 +39,10 @@ public class ShareActivity extends Activity { | |||||||
|                         String path = uri.getQueryParameter("v"); |                         String path = uri.getQueryParameter("v"); | ||||||
|                         if(path != null) { |                         if(path != null) { | ||||||
|                             builder.path(path); |                             builder.path(path); | ||||||
|                             return builder.build(); |                             return new Upstream(builder.build(), domains.get(host)); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|                     return uri; |                     return new Upstream(uri, domains.get(host)); | ||||||
|                 } |                 } | ||||||
|             } catch(Exception e) {} |             } catch(Exception e) {} | ||||||
|         } |         } | ||||||
| @@ -42,13 +51,13 @@ public class ShareActivity extends Activity { | |||||||
|     @Override |     @Override | ||||||
|     protected void onCreate(Bundle savedInstanceState) { |     protected void onCreate(Bundle savedInstanceState) { | ||||||
|         super.onCreate(savedInstanceState); |         super.onCreate(savedInstanceState); | ||||||
|         Uri uri = getSharedLink(); |         Upstream upstream = getSharedLink(); | ||||||
|         if(uri != null) { |         if(upstream != null) { | ||||||
|             Uri.Builder builder = new Uri.Builder(); |             Uri.Builder builder = new Uri.Builder(); | ||||||
|             builder.authority("stream.purser.it"); |             builder.authority("stream.purser.it"); | ||||||
|             builder.scheme("https"); |             builder.scheme("https"); | ||||||
|             builder.path(uri.getPath()); |             builder.path(upstream.uri.getPath()); | ||||||
|             builder.appendQueryParameter("provider", "youtube"); |             builder.appendQueryParameter("provider", upstream.provider); | ||||||
|             builder.appendQueryParameter("render", "true"); |             builder.appendQueryParameter("render", "true"); | ||||||
|             Intent launch = new Intent(Intent.ACTION_VIEW, builder.build()); |             Intent launch = new Intent(Intent.ACTION_VIEW, builder.build()); | ||||||
|             launch.setPackage("com.android.chrome"); |             launch.setPackage("com.android.chrome"); | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <vector | <vector | ||||||
|         xmlns:android="http://schemas.android.com/apk/res/android" |     android:height="108dp" | ||||||
|         android:height="108dp" |     android:width="108dp" | ||||||
|         android:width="108dp" |     android:viewportHeight="108" | ||||||
|         android:viewportHeight="108" |     android:viewportWidth="108" | ||||||
|         android:viewportWidth="108"> |     xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|     <path android:fillColor="#3DDC84" |     <path android:fillColor="#3DDC84" | ||||||
|           android:pathData="M0,0h108v108h-108z"/> |           android:pathData="M0,0h108v108h-108z"/> | ||||||
|     <path android:fillColor="#00000000" android:pathData="M9,0L9,108" |     <path android:fillColor="#00000000" android:pathData="M9,0L9,108" | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								app/app/src/main/res/drawable/ic_launcher_foreground.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,15 @@ | |||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="108dp" | ||||||
|  |     android:height="108dp" | ||||||
|  |     android:viewportWidth="108" | ||||||
|  |     android:viewportHeight="108"> | ||||||
|  |   <group android:scaleX="1.08" | ||||||
|  |       android:scaleY="1.08"> | ||||||
|  |     <path | ||||||
|  |         android:pathData="M50,50m-50,0a50,50 0,1 1,100 0a50,50 0,1 1,-100 0" | ||||||
|  |         android:fillColor="#000000"/> | ||||||
|  |     <path | ||||||
|  |         android:pathData="M30,20l0,60l55,-30z" | ||||||
|  |         android:fillColor="#32cd32"/> | ||||||
|  |   </group> | ||||||
|  | </vector> | ||||||
| Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 992 B | 
| Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 2.4 KiB | 
| Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 775 B | 
| Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 3.4 KiB | 
| Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.8 KiB | 
| Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 3.7 KiB | 
| Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 8.5 KiB |