Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,11 @@ google-services.json
freeline.py
freeline/
freeline_project_description.json
.idea/misc.xml
.idea/modules.xml
.idea/runConfigurations.xml
.idea/vcs.xml
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
gradlew.bat
gradlew.bat
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,9 +182,10 @@ public void updateNotification() {
.setSmallIcon(R.drawable.ic_music)
.setContentTitle(title)
.setContentText(subtitle)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setDeleteIntent(PendingIntent.getService(this, 0, deleteIntent, 0))
//.setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle())
.setOngoing(isPlaying && !prefs.getBoolean(PreferenceUtils.PREF_ALWAYS_DISMISSIBLE, false))
.setOngoing(isPlaying || !prefs.getBoolean(PreferenceUtils.PREF_ALWAYS_DISMISSIBLE, false))
.setVisibility(VISIBILITY_PUBLIC);

if (contentIntent != null)
Expand Down
79 changes: 79 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<resources>
<string name="app_name">媒体通知</string>
<string name="title_settings">自定义</string>
<string name="title_players">播放器</string>
<string name="title_supported_players">支持的播放器</string>
<string name="title_all">所有</string>
<string name="title_help">帮助</string>
<string name="title_media_notification">开启音乐通知</string>
<string name="title_high_contrast_text">高对比度文字/图片</string>
<string name="title_color_method">取色模式</string>
<string name="title_custom_color">默认取色</string>
<string name="app_name_spotify">Spotify</string>
<string name="desc_check_permission">如果您的设备以及获得了Root访问权限,那么您可以授予应用程序 android.permission.UPDATE_APP_OPS_STATS 权限来使应用可以自行阻止音乐应用程序的通知,但 android.permission.UPDATE_APP_OPS_STATS 权限被保护在"签名保护"下,所以目前不可能在这个应用程序中包含该功能。</string>
<string name="title_grant_permission">检查权限</string>
<string name="desc_storage">为了获取音乐的封面图片,应用需要获得储存卡储存权限。 为了授予应用该权限,请点击"允许"按钮。</string>
<string name="desc_receiver">如果您没有oot访问权限,但仍然可以自行阻止音乐应用程序的通知,并通过切换下面的开关告诉应用程序去完全依赖广播接收器。这可能会导致应用程序在与某些音乐应用程序一起使用时变得不稳定和不可靠,并且控制按钮可能无法正常工作,因为应用程序无法通过音乐应用程序的通知触发它们。</string>
<string name="title_receiver">使用广播接收器</string>
<string name="msg_permission_granted">成功!权限已经被授予</string>
<string name="msg_app_ops_denied">android.permission.UPDATE_APP_OPS_STATS 权限没有被授予</string>
<string name="title_check_permission">检查权限</string>
<string name="title_last_fm">从Last.fm获取音乐封面</string>
<string name="msg_readme_error">不能获取ReadMe: %s</string>
<string name="title_default_player">默认音乐播放器</string>
<string name="desc_default_player">如果应用程序在点击通知时无法检测到音乐播放器,则可以设置默认应用程序来启动。</string>
<string name="title_always_dismissible">始终使应用程序通知持续显示</string>
<string name="title_kill_process">划去通知后关闭应用程序(不安全)</string>
<string name="msg_reflection_error">不能再反射过程中发送关键事件: %s</string>
<string name="title_media_controls">音乐控制方法(不可靠)</string>
<string name="desc_media_controls">这使您可以指定一种方法来控制音乐播放器,如果应用程序无法找出哪个应用程序正在播放音乐,或者没有任何其他方式来控制它。</string>
<string name="action_load_all_apps">加载所有应用</string>
<string name="title_album_art">显示专辑图片</string>
<string name="action_github">游览ithub库</string>
<string name="title_inverse_text">使用倒置的文字颜色</string>
<string name="title_contributors">贡献者</string>
<string name="action_about">关于</string>
<string name="msg_vuk">感谢 legendary Vukašin Anđelković 制作漂亮的APP图标</string>
<string name="title_libraries">库</string>
<string name="title_glide">Glide</string>
<string name="desc_glide">An image loading and caching library for Android focused on smooth scrolling.</string>
<string name="msg_open_source">也想贡献代码? 这个应用程序在Github上开源</string>
<string name="title_cancel_original_notification">尝试正常地关闭音乐应用程序通知</string>
<string name="title_appearance_settings">外观设置</string>
<string name="title_settings_behavior">行为设置</string>
<string name="title_force_md_icons">强制MD播放图标</string>
<string name="title_external_storage">外置储存</string>
<string name="action_open">打开</string>
<string name="action_set_default">默认</string>
<string name="title_default">默认</string>
<string name="title_markwon">Markwon</string>
<string name="desc_markwon">A library for Android that renders markdown as system-native Spannables.</string>
<string name="title_welcome">欢迎</string>
<string name="desc_tutorial">媒体通知是一款可以在Android Oreo以前的设备上重现Android Oreo丰富多彩的媒体通知的应用程序。 请注意,这个应用程序不会取代其他应用程序的通知; 它会创建自己的通知。 要查看所有可用选项和用例,请访问“帮助”部分或按“了解更多”。</string>
<string name="title_learn_more">了解更多</string>
<string name="title_got_it">明白</string>
<string name="title_tutorial_players">应用程序特定的设置</string>
<string name="desc_tutorial_player">该列表列出了手机上当前安装的所有应用程序。 每个应用程序右侧的开关允许您在应用程序播放时启用或禁用媒体通知。 如果关闭该开关,媒体通知将不会做任何事情,因为无法从该应用程序获取任何通知或广播。</string>
<string name="desc_tutorial_players_supported">“支持的播放器”部分包含媒体通知正式支持的应用程序。 “所有”部分包含其他所有内容。 不幸的是,由于目前还没有确定应用程序是否播放音乐的可靠方法,因此在该列表中仅包括音乐播放器是不可能的。</string>
<string name="desc_tutorial_players_default">将应用程序设置为默认播放器将导致媒体通知无法通过任何其他方法找到当前播放器时始终假设该默认音乐应用程序正在播放。</string>
<string name="title_show_tutorials">显示简介部分</string>


<string-array name="array_color_methods">
<item>取优势的颜色</item>
<item>取主要的颜色</item>
<item>取有活力的颜色</item>
<item>取柔和的颜色</item>
<item>始终默认</item>
</string-array>

<string-array name="array_control_methods">
<item>默认 (无)</item>
<item>AudioManager API</item>
<item>Reflection (Unstable)</item>
<item>Broadcast</item>
<item>Broadcast String</item>
<item>Broadcast Parcelable</item>
</string-array>

</resources>
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta4'
classpath 'com.android.tools.build:gradle:3.0.1'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand Down
180 changes: 90 additions & 90 deletions gradlew.bat
Original file line number Diff line number Diff line change
@@ -1,90 +1,90 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windowz variants

if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*
goto execute

:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega