package
ir.payamdev.student;
import
android.Manifest;
import
android.content.DialogInterface;
import
android.content.Intent;
import
android.content.pm.PackageManager;
import
android.content.res.ColorStateList;
import
android.graphics.Bitmap;
import
android.graphics.Color;
import
android.net.ConnectivityManager;
import
android.net.NetworkInfo;
import
android.net.Uri;
import
android.os.Bundle;
import
android.support.annotation.NonNull;
import
android.support.design.internal.BottomNavigationItemView;
import
android.support.design.widget.BottomNavigationView;
import
android.support.v4.app.ActivityCompat;
import
android.support.v4.content.ContextCompat;
import
android.support.v7.app.AlertDialog;
import
android.support.v7.app.AppCompatActivity;
import
android.view.MenuItem;
import
android.webkit.WebView;
import
android.webkit.WebViewClient;
import
android.widget.Toast;
import
com.google.android.gms.appindexing.Action;
import
com.google.android.gms.appindexing.AppIndex;
import
com.google.android.gms.appindexing.Thing;
import
com.google.android.gms.common.api.GoogleApiClient;
import
java.io.IOException;
import
static
android.content.ClipData.newIntent;
import
static
ir.payamdev.student.R.id.activity_khata;
public
class
MainActivity
extends
AppCompatActivity
implements
BottomNavigationView.OnNavigationItemSelectedListener {
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
*/
private
GoogleApiClient client;
public
boolean
isOnline() {
ConnectivityManager connectivityManager;
connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if
(networkInfo ==
null
|| !networkInfo.isConnected()) {
return
false
;
}
try
{
Process ipProcess = Runtime.getRuntime().exec(
"/system/bin/ping -c 1 8.8.8.8"
);
if
(ipProcess.waitFor() !=
0
) {
return
false
;
}
}
catch
(IOException | InterruptedException e) {
e.printStackTrace();
}
return
true
;
}
private
WebView webView;
private
ColorStateList myColorStateList =
new
ColorStateList(
new
int
[][]{
new
int
[]{android.R.attr.state_checked},
new
int
[]{-android.R.attr.state_checkable}
},
new
int
[]{
Color.parseColor(
"#FFFF4081"
),
Color.parseColor(
"#FF880E4F"
)
});
@Override
public
void
onRequestPermissionsResult(
int
requestCode,
@NonNull
String[] permissions,
@NonNull
int
[] grantResults) {
super
.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch
(requestCode) {
case
1
:
if
(grantResults.length >
0
&& grantResults[
0
] == PackageManager.PERMISSION_GRANTED) {
}
else
{
}
break
;
}
}
@Override
protected
void
onCreate(Bundle savedInstanceState) {
if
(!isOnline()) {
Intent intent =
new
Intent(MainActivity.
this
,khata.
class
);
startActivity(intent);
finish();
}
if
(ContextCompat.checkSelfPermission(
this
, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
this
,
new
String[]{Manifest.permission.READ_PHONE_STATE},
1
);
}
else
{
if
(!isOnline()) {
Intent intent =
new
Intent(MainActivity.
this
, khata.
class
);
startActivity(intent);
finish();
}
}
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView);
webView.loadUrl(getString(R.string.link_about));
BottomNavigationView navigation = (BottomNavigationView)
findViewById(R.id.navigation);
navigation.setItemIconTintList(myColorStateList);
navigation.setItemTextColor(myColorStateList);
navigation.setOnNavigationItemSelectedListener(
this
);
navigation.setSelectedItemId(R.id.navigation_about);
client =
new
GoogleApiClient.Builder(
this
).addApi(AppIndex.API).build();
webView.setWebViewClient(
new
WebViewClient() {
@Override
public
void
onPageStarted(WebView view, String url, Bitmap favicon) {
}
@Override
public
void
onPageFinished(WebView view, String url) {
}
});
webView.getSettings().setJavaScriptEnabled(
true
);
}
@Override
public
boolean
onNavigationItemSelected(
@NonNull
MenuItem item) {
switch
(item.getItemId()) {
case
R.id.navigation_profile:
webView.loadUrl(getString(R.string.link_profile));
return
true
;
case
R.id.navigation_lesson:
webView.loadUrl(getString(R.string.link_Lesson));
return
true
;
case
R.id.navigation_description:
webView.loadUrl(getString(R.string.link_description));
return
true
;
case
R.id.navigation_download:
webView.loadUrl(getString(R.string.link_download));
return
true
;
case
R.id.navigation_about:
webView.loadUrl(getString(R.string.link_about));
return
true
;
}
return
false
;
}
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
*/
public
Action getIndexApiAction() {
Thing object =
new
Thing.Builder()
.setName(
"Main Page"
)
.setUrl(Uri.parse(
"http://[ENTER-YOUR-URL-HERE]"
))
.build();
return
new
Action.Builder(Action.TYPE_VIEW)
.setObject(object)
.setActionStatus(Action.STATUS_TYPE_COMPLETED)
.build();
}
@Override
public
void
onStart() {
super
.onStart();
client.connect();
AppIndex.AppIndexApi.start(client, getIndexApiAction());
}
@Override
public
void
onStop() {
super
.onStop();
AppIndex.AppIndexApi.end(client, getIndexApiAction());
client.disconnect();
}
}