diff --git a/app/src/main/java/fr/svpro/radiomercure/MainActivity.java b/app/src/main/java/fr/svpro/radiomercure/MainActivity.java index 41e0a6f..ba93ce6 100644 --- a/app/src/main/java/fr/svpro/radiomercure/MainActivity.java +++ b/app/src/main/java/fr/svpro/radiomercure/MainActivity.java @@ -19,11 +19,15 @@ import android.os.PowerManager; import android.provider.Settings; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.webkit.CookieManager; import android.webkit.URLUtil; +import android.webkit.ValueCallback; +import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -46,11 +50,14 @@ public class MainActivity extends AppCompatActivity { private WebView web; private String url, userAgent, contentDisposition, mimeType; private Dialog dialog; + private ImageView iv_svpro, iv_navHeader; private TextView tv_close, tv_version; private static String versionName; private static final String NUMERO_TEL_RADIO = "+33375411456"; private static final String URL_PLATEFORM = "https://podcast.radiomercure.fr"; //"https://www.radiomercure.fr/?playerbar-pageinicial"; + private static final String URL_ADMIN = "https://podcast.radiomercure.fr/cp-admin"; private static final String URL_STREAM = "https://live.radiomercure.fr/on-air/live"; + private static final String URL_SVPRO = "https://samuel.vermeulen.pro"; private MediaPlayerService player; boolean serviceBound = false; @@ -62,13 +69,15 @@ public class MainActivity extends AppCompatActivity { private NavigationView navigationView; private DrawerLayout drawerLayout; private Toolbar toolbar; + private ValueCallback mUploadMessage; + private final static int FILECHOOSER_RESULTCODE = 1; @SuppressLint({"SetJavaScriptEnabled", "WrongViewCast", "JavascriptInterface", "MissingInflatedId"}) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - + createDialog(); //menu latéral navigationView = findViewById(R.id.navigation_drawer); @@ -132,7 +141,6 @@ public class MainActivity extends AppCompatActivity { break; } - drawerLayout.closeDrawer(GravityCompat.START); return true; } @@ -174,7 +182,7 @@ public class MainActivity extends AppCompatActivity { } //------------------------------------------------------------------------------------------------// - //WebBiew affichage du site +//------WebBiew configuration-----------------------------------------------------------------// web = findViewById(R.id.wv); web.setWebViewClient(new WebViewClient()); web.getSettings().setUserAgentString("Mozilla/5.0 "+ getApplicationInfo().packageName); @@ -185,17 +193,28 @@ public class MainActivity extends AppCompatActivity { web.getSettings().setDatabaseEnabled(true); web.getSettings().setDomStorageEnabled(true); web.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); -// web.getSettings().setAppCachePath(web.getContext().getCacheDir().getAbsolutePath()); web.getSettings().setUseWideViewPort(true); web.getSettings().setLoadWithOverviewMode(true); web.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); web.getSettings().setAllowFileAccessFromFileURLs(true); - //Log.w("AGENT", web.getSettings().getUserAgentString()); - //if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - // web.getSettings().setAllowFileAccessFromFileURLs(true); - //} +//------------------------------------------------------------------------------------------------// web.loadUrl(URL_PLATEFORM); +//------Files Chooser-----------------------------------------------------------------------------// + web.setWebChromeClient(new WebChromeClient() { + public void onProgressChanged(WebView view, int progress) { + } + + public void openFileChooser(ValueCallback uploadMsg, String acceptType) { + mUploadMessage = uploadMsg; + Intent i = new Intent(Intent.ACTION_GET_CONTENT); + i.addCategory(Intent.CATEGORY_OPENABLE); + i.setType("*/*"); + startActivityForResult(Intent.createChooser(i, "Browser"), FILECHOOSER_RESULTCODE); + } + }); +//------------------------------------------------------------------------------------------------// +//------Link Download-----------------------------------------------------------------------------// web.setDownloadListener((url, userAgent, contentDisposition, mimeType, contentLength) -> { MainActivity.this.url = url; MainActivity.this.userAgent = userAgent; @@ -212,8 +231,7 @@ public class MainActivity extends AppCompatActivity { TelechargemntPodcast(); } }); - - createDialog(); +//------------------------------------------------------------------------------------------------// // Ouverture depuis liens externes Intent appLinkIntent = getIntent(); @@ -221,7 +239,6 @@ public class MainActivity extends AppCompatActivity { Uri appLinkData = appLinkIntent.getData(); handleIntent(getIntent()); } - protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); @@ -284,8 +301,31 @@ public class MainActivity extends AppCompatActivity { tv_close= (TextView) dialog.findViewById(R.id.tv_close); tv_version = (TextView) dialog.findViewById(R.id.tv_version); + iv_navHeader = (ImageView) dialog.findViewById(R.id.iv_navHeader); + iv_svpro = (ImageView) dialog.findViewById(R.id.iv_svpro); tv_close.setOnClickListener(v -> dialog.dismiss()); tv_version.setText(getString(R.string.app_version) + versionName); + + // Click logo => Ouverture site auteur + iv_svpro.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_VIEW); + intent.addCategory(Intent.CATEGORY_BROWSABLE); + intent.setData(Uri.parse(URL_SVPRO)); + startActivity(intent); + } + }); + // easter egg pour admin + iv_navHeader.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + web.loadUrl(URL_ADMIN); + dialog.dismiss(); + return true; + } + }); } diff --git a/app/src/main/res/drawable/appli_android_splash.png b/app/src/main/res/drawable/appli_android_splash.png new file mode 100644 index 0000000..a976cfa Binary files /dev/null and b/app/src/main/res/drawable/appli_android_splash.png differ diff --git a/app/src/main/res/drawable/banni_re.png b/app/src/main/res/drawable/banni_re.png new file mode 100644 index 0000000..a397403 Binary files /dev/null and b/app/src/main/res/drawable/banni_re.png differ diff --git a/app/src/main/res/drawable/navheader.png b/app/src/main/res/drawable/navheader.png new file mode 100644 index 0000000..fa5123a Binary files /dev/null and b/app/src/main/res/drawable/navheader.png differ diff --git a/app/src/main/res/drawable/splash_background.xml b/app/src/main/res/drawable/splash_background.xml index 65e0ce2..91c6c8a 100644 --- a/app/src/main/res/drawable/splash_background.xml +++ b/app/src/main/res/drawable/splash_background.xml @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/about_dialog.xml b/app/src/main/res/layout/about_dialog.xml index 2c4676b..0d8cdc3 100644 --- a/app/src/main/res/layout/about_dialog.xml +++ b/app/src/main/res/layout/about_dialog.xml @@ -6,13 +6,14 @@ android:orientation="vertical"> + android:longClickable="true" + app:srcCompat="@drawable/navheader" /> + android:clickable="true" + app:srcCompat="@drawable/banni_re" /> - - diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml index e7a4308..e0fe302 100644 --- a/app/src/main/res/layout/drawer_header.xml +++ b/app/src/main/res/layout/drawer_header.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="170dp" - android:background="@drawable/presentation_pstore" + android:background="@drawable/navheader" android:gravity="bottom" android:orientation="vertical" android:padding="16dp"/> \ No newline at end of file