Skip to content

Commit fde6699

Browse files
committed
OPNMIDI Player v 1.4.3.1
- Better file handling by intent - Custom icon for debug builds - Added similar description background like ADLMIDI Player has
1 parent d59b370 commit fde6699

20 files changed

+68
-58
lines changed

OPNMIDI-Player/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "ru.wohlsoft.opnmidiplayer"
88
minSdkVersion 14
99
targetSdkVersion 28
10-
versionCode 1040300
11-
versionName '1.4.3.0'
10+
versionCode 1040301
11+
versionName '1.4.3.1'
1212
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1313
externalNativeBuild {
1414
cmake {

OPNMIDI-Player/icon/descr.png

15.2 KB
Loading

OPNMIDI-Player/icon/descr.xcf

21.9 KB
Binary file not shown.
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

OPNMIDI-Player/src/main/AndroidManifest.xml

Lines changed: 39 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -18,71 +18,61 @@
1818
<category android:name="android.intent.category.LAUNCHER" />
1919
<category android:name="android.intent.category.APP_MUSIC" />
2020
</intent-filter>
21+
22+
<intent-filter>
23+
<action android:name="android.intent.action.VIEW" />
24+
25+
<category android:name="android.intent.category.DEFAULT" />
26+
<category android:name="android.intent.category.BROWSABLE" />
27+
28+
<data android:scheme="file" />
29+
<data android:scheme="content" />
30+
<data android:host="*" />
31+
32+
<data android:mimeType="audio/mid" />
33+
<data android:mimeType="audio/midi" />
34+
<data android:mimeType="audio/x-mid" />
35+
<data android:mimeType="audio/x-midi" />
36+
<data android:mimeType="music/midi" />
37+
<data android:mimeType="music/x-mid" />
38+
<data android:mimeType="music/x-midi" />
39+
<data android:mimeType="music/x-karaoke" />
40+
<data android:mimeType="x-music/midi" />
41+
<data android:mimeType="x-music/x-mid" />
42+
<data android:mimeType="x-music/x-midi" />
43+
<data android:mimeType="application/mid" />
44+
<data android:mimeType="application/midi" />
45+
<data android:mimeType="application/x-mid" />
46+
<data android:mimeType="application/x-midi" />
47+
<data android:mimeType="application/x-mid" />
48+
<data android:mimeType="application/x-midi" />
49+
</intent-filter>
2150
<intent-filter>
2251
<action android:name="android.intent.action.VIEW" />
52+
53+
<category android:name="android.intent.category.DEFAULT" />
54+
<category android:name="android.intent.category.BROWSABLE" />
55+
2356
<data android:scheme="file" />
57+
<data android:scheme="content" />
2458
<data android:host="*" />
25-
<data android:mimeType="*/*" />
59+
2660
<data android:pathPattern=".*\\.mid" />
27-
<data android:pathPattern=".*\\..*\\.mid" />
28-
<data android:pathPattern=".*\\..*\\..*\\.mid" />
29-
<data android:pathPattern=".*\\..*\\..*\\..*\\.mid" />
30-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.mid" />
3161
<data android:pathPattern=".*\\.MID" />
32-
<data android:pathPattern=".*\\..*\\.MID" />
33-
<data android:pathPattern=".*\\..*\\..*\\.MID" />
34-
<data android:pathPattern=".*\\..*\\..*\\..*\\.MID" />
35-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.MID" />
3662
<data android:pathPattern=".*\\.midi" />
37-
<data android:pathPattern=".*\\..*\\.midi" />
38-
<data android:pathPattern=".*\\..*\\..*\\.midi" />
39-
<data android:pathPattern=".*\\..*\\..*\\..*\\.midi" />
40-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.midi" />
4163
<data android:pathPattern=".*\\.MIDI" />
42-
<data android:pathPattern=".*\\..*\\.MIDI" />
43-
<data android:pathPattern=".*\\..*\\..*\\.MIDI" />
44-
<data android:pathPattern=".*\\..*\\..*\\..*\\.MIDI" />
45-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.MIDI" />
4664
<data android:pathPattern=".*\\.rmi" />
47-
<data android:pathPattern=".*\\..*\\.rmi" />
48-
<data android:pathPattern=".*\\..*\\..*\\.rmi" />
49-
<data android:pathPattern=".*\\..*\\..*\\..*\\.rmi" />
50-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.rmi" />
5165
<data android:pathPattern=".*\\.RMI" />
52-
<data android:pathPattern=".*\\..*\\.RMI" />
53-
<data android:pathPattern=".*\\..*\\..*\\.RMI" />
54-
<data android:pathPattern=".*\\..*\\..*\\..*\\.RMI" />
55-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.RMI" />
5666
<data android:pathPattern=".*\\.kar" />
57-
<data android:pathPattern=".*\\..*\\.kar" />
58-
<data android:pathPattern=".*\\..*\\..*\\.kar" />
59-
<data android:pathPattern=".*\\..*\\..*\\..*\\.kar" />
60-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.kar" />
6167
<data android:pathPattern=".*\\.KAR" />
62-
<data android:pathPattern=".*\\..*\\.KAR" />
63-
<data android:pathPattern=".*\\..*\\..*\\.KAR" />
64-
<data android:pathPattern=".*\\..*\\..*\\..*\\.KAR" />
65-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.KAR" />
68+
<data android:pathPattern=".*\\.cmf" />
69+
<data android:pathPattern=".*\\.CMF" />
70+
<data android:pathPattern=".*\\.imf" />
71+
<data android:pathPattern=".*\\.IMF" />
6672
<data android:pathPattern=".*\\.mus" />
67-
<data android:pathPattern=".*\\..*\\.mus" />
68-
<data android:pathPattern=".*\\..*\\..*\\.mus" />
69-
<data android:pathPattern=".*\\..*\\..*\\..*\\.mus" />
70-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.mus" />
7173
<data android:pathPattern=".*\\.MUS" />
72-
<data android:pathPattern=".*\\..*\\.MUS" />
73-
<data android:pathPattern=".*\\..*\\..*\\.MUS" />
74-
<data android:pathPattern=".*\\..*\\..*\\..*\\.MUS" />
75-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.MUS" />
7674
<data android:pathPattern=".*\\.xmi" />
77-
<data android:pathPattern=".*\\..*\\.xmi" />
78-
<data android:pathPattern=".*\\..*\\..*\\.xmi" />
79-
<data android:pathPattern=".*\\..*\\..*\\..*\\.xmi" />
80-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.xmi" />
8175
<data android:pathPattern=".*\\.XMI" />
82-
<data android:pathPattern=".*\\..*\\.XMI" />
83-
<data android:pathPattern=".*\\..*\\..*\\.XMI" />
84-
<data android:pathPattern=".*\\..*\\..*\\..*\\.XMI" />
85-
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.XMI" />
8676
</intent-filter>
8777
</activity>
8878

OPNMIDI-Player/src/main/java/ru/wohlsoft/opnmidiplayer/Player.java

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.annotation.SuppressLint;
44
import android.content.BroadcastReceiver;
55
import android.content.ComponentName;
6+
import android.content.ContentResolver;
67
import android.content.Context;
78
import android.content.DialogInterface;
89
import android.content.Intent;
@@ -49,6 +50,7 @@ public class Player extends AppCompatActivity
4950

5051
public static final int READ_PERMISSION_FOR_BANK = 1;
5152
public static final int READ_PERMISSION_FOR_MUSIC = 2;
53+
public static final int READ_PERMISSION_FOR_INTENT = 3;
5254

5355
private PlayerService m_service;
5456
private volatile boolean m_bound = false;
@@ -585,6 +587,8 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
585587
openBankDialog();
586588
} else if (requestCode == READ_PERMISSION_FOR_MUSIC) {
587589
openMusicFileDialog();
590+
} else if (requestCode == READ_PERMISSION_FOR_INTENT) {
591+
handleFileIntent();
588592
}
589593
}
590594
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
@@ -651,15 +655,31 @@ public void OnSelectedFile(String fileName, String lastPath) {
651655

652656
private void handleFileIntent()
653657
{
654-
Uri url = getIntent().getData();
655-
if(url != null)
658+
Intent intent = getIntent();
659+
String scheme = intent.getScheme();
660+
if(scheme != null)
656661
{
657-
String scheme = url.getScheme();
658-
Log.d(LOG_TAG, "Got an URL: " + url + "; gonna check");
659-
if(scheme != null && scheme.equals("file"))
662+
if(checkFilePermissions(READ_PERMISSION_FOR_INTENT))
663+
return;
664+
if(scheme.equals(ContentResolver.SCHEME_FILE))
660665
{
661-
String fileName = url.getPath();
662-
processMusicFile(fileName, m_lastPath);
666+
Uri url = intent.getData();
667+
if(url != null)
668+
{
669+
Log.d(LOG_TAG, "Got a file: " + url + ";");
670+
String fileName = url.getPath();
671+
processMusicFile(fileName, m_lastPath);
672+
}
673+
}
674+
else if(scheme.equals(ContentResolver.SCHEME_CONTENT))
675+
{
676+
Uri url = intent.getData();
677+
if(url != null)
678+
{
679+
Log.d(LOG_TAG, "Got a content: " + url + ";");
680+
String fileName = url.getPath();
681+
processMusicFile(fileName, m_lastPath);
682+
}
663683
}
664684
}
665685
}

0 commit comments

Comments
 (0)