@11.02.16 Dennis Thießen: 2.0.1
This commit is contained in:
@@ -19,8 +19,8 @@ android {
|
||||
applicationId "org.deke.risk.riskahead"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 23
|
||||
versionCode 28
|
||||
versionName "2.0"
|
||||
versionCode 29
|
||||
versionName "2.0.1"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
||||
@@ -4,12 +4,14 @@ import android.app.SearchManager;
|
||||
import android.app.SearchableInfo;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
@@ -39,6 +41,8 @@ import com.google.android.gms.maps.model.Marker;
|
||||
import com.google.android.gms.maps.model.MarkerOptions;
|
||||
import com.google.android.gms.maps.model.TileOverlay;
|
||||
import com.google.android.gms.maps.model.TileOverlayOptions;
|
||||
import com.google.android.gms.plus.Plus;
|
||||
import com.google.android.gms.plus.model.people.Person;
|
||||
import com.google.maps.android.clustering.Cluster;
|
||||
import com.google.maps.android.clustering.ClusterManager;
|
||||
import com.google.maps.android.heatmaps.HeatmapTileProvider;
|
||||
@@ -76,6 +80,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
|
||||
private static final int DEFAULT_ZOOM_LEVEL = 14;
|
||||
private static final int THRESHOLD_ZOOM_LEVEL = 10;
|
||||
private static final int MY_PERMISSIONS_REQUEST_LOCATION = 12;
|
||||
|
||||
private Double PRELOAD_PERCENTAGE = 0.3;
|
||||
private int MIN_ZOOM_LEVEL = 9;
|
||||
@@ -108,9 +113,10 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
|
||||
if(session.getSubsPremium()){
|
||||
|
||||
if (session.getSubsPremium()) {
|
||||
MIN_ZOOM_LEVEL = 7;
|
||||
}else{
|
||||
} else {
|
||||
MIN_ZOOM_LEVEL = 9;
|
||||
}
|
||||
|
||||
@@ -135,9 +141,41 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
System.gc();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode,
|
||||
String permissions[], int[] grantResults) {
|
||||
switch (requestCode) {
|
||||
case MY_PERMISSIONS_REQUEST_LOCATION: {
|
||||
// If request is cancelled, the result arrays are empty.
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
|
||||
try{
|
||||
mMap.setMyLocationEnabled(true);
|
||||
}catch(SecurityException e){
|
||||
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// other 'case' lines to check for other
|
||||
// permissions this app might request
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void initMap() {
|
||||
mMap.getUiSettings().setZoomControlsEnabled(true);
|
||||
mMap.setMyLocationEnabled(true);
|
||||
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.permission.ACCESS_COARSE_LOCATION},1);
|
||||
}else{
|
||||
mMap.setMyLocationEnabled(true);
|
||||
}
|
||||
|
||||
|
||||
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
|
||||
@Override
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package org.deke.risk.riskahead.fragment;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentSender;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -36,6 +39,7 @@ public class GooglePlusButtonFragment extends Fragment implements GoogleApiClien
|
||||
|
||||
public static final int RC_SIGN_IN = 0;
|
||||
private static final String TAG = "MainActivity";
|
||||
private static final int MY_PERMISSIONS_REQUEST_ACCOUNTS = 32;
|
||||
|
||||
private GoogleApiClient mGoogleApiClient;
|
||||
|
||||
@@ -78,11 +82,43 @@ public class GooglePlusButtonFragment extends Fragment implements GoogleApiClien
|
||||
}
|
||||
|
||||
private void performClickAction() {
|
||||
if(mGoogleApiClient.isConnected()){
|
||||
Person currentPerson = getProfileInformation();
|
||||
((LoginActivity) getActivity()).handleSocialMediaLogin(currentPerson.getId(),"google",currentPerson.getDisplayName(),Plus.AccountApi.getAccountName(mGoogleApiClient));
|
||||
|
||||
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.GET_ACCOUNTS}, MY_PERMISSIONS_REQUEST_ACCOUNTS);
|
||||
|
||||
}else{
|
||||
signInWithGplus();
|
||||
if(mGoogleApiClient.isConnected()){
|
||||
Person currentPerson = getProfileInformation();
|
||||
((LoginActivity) getActivity()).handleSocialMediaLogin(currentPerson.getId(),"google",currentPerson.getDisplayName(),Plus.AccountApi.getAccountName(mGoogleApiClient));
|
||||
}else{
|
||||
signInWithGplus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode,
|
||||
String permissions[], int[] grantResults) {
|
||||
switch (requestCode) {
|
||||
case MY_PERMISSIONS_REQUEST_ACCOUNTS: {
|
||||
// If request is cancelled, the result arrays are empty.
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
|
||||
if(mGoogleApiClient.isConnected()){
|
||||
Person currentPerson = getProfileInformation();
|
||||
((LoginActivity) getActivity()).handleSocialMediaLogin(currentPerson.getId(),"google",currentPerson.getDisplayName(),Plus.AccountApi.getAccountName(mGoogleApiClient));
|
||||
}else{
|
||||
signInWithGplus();
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// other 'case' lines to check for other
|
||||
// permissions this app might request
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.deke.risk.riskahead.helper;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlertDialog;
|
||||
@@ -14,10 +15,12 @@ import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.location.LocationManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
@@ -43,6 +46,8 @@ import com.android.volley.toolbox.StringRequest;
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.InterstitialAd;
|
||||
import com.google.android.gms.plus.Plus;
|
||||
import com.google.android.gms.plus.model.people.Person;
|
||||
import com.mikepenz.google_material_typeface_library.GoogleMaterial;
|
||||
import com.mikepenz.materialdrawer.AccountHeader;
|
||||
import com.mikepenz.materialdrawer.AccountHeaderBuilder;
|
||||
@@ -126,6 +131,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
} else if (onStartCount == 1) {
|
||||
onStartCount++;
|
||||
onStartCount++;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -137,6 +143,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
//overridePendingTransition(R.anim.fade_in_anim, R.anim.fade_out_anim);
|
||||
//overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
|
||||
|
||||
|
||||
onStartCount = 1;
|
||||
if (savedInstanceState == null) // 1st time
|
||||
{
|
||||
@@ -161,7 +168,13 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
|
||||
|
||||
if(!isMyNotificationServiceRunning()){
|
||||
if(!isMyNotificationServiceRunning() && session.getNotificationEnabled()){
|
||||
|
||||
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION},1);
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d(TAG,"onCreate: NotificationService not running. Starting service...");
|
||||
|
||||
Intent wtdSServiceIntent = new Intent(this, NotificationService.class);
|
||||
@@ -367,17 +380,30 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
public void showAd(){
|
||||
if(System.currentTimeMillis() == 0) session.setLastAddShown(System.currentTimeMillis());
|
||||
|
||||
if(System.currentTimeMillis() > session.getLastAddShown()+120000){
|
||||
Log.d(TAG, "SHOW ADD!");
|
||||
if (mInterstitialAd.isLoaded()) {
|
||||
Log.d(TAG, "Loading Add...");
|
||||
if(!(session.getSubsNoAds() || session.getSubsPremium())){
|
||||
mInterstitialAd.show();
|
||||
|
||||
|
||||
mInterstitialAd.show();
|
||||
session.setLastAddShown(System.currentTimeMillis());
|
||||
|
||||
|
||||
}else{
|
||||
Log.d(TAG,"Add not shown because user has status.");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
Log.d(TAG, "SHOW NO ADD ( TIME NOT OUT ) !");
|
||||
}
|
||||
}
|
||||
|
||||
public void isNetworkAvailable() {
|
||||
|
||||
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
|
||||
if(activeNetworkInfo == null){
|
||||
@@ -402,7 +428,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
public void handleVolleyErrorResponse() {
|
||||
showMessage(getString(R.string.errormsg_couldnotretrieve));
|
||||
logoutUser();
|
||||
//logoutUser();
|
||||
}
|
||||
|
||||
public void logout() {
|
||||
|
||||
@@ -69,17 +69,13 @@ public class NotificationService extends Service {
|
||||
|
||||
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
LocationListener locationListener = new MyLocationListener();
|
||||
|
||||
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
// TODO: Consider calling
|
||||
// ActivityCompat#requestPermissions
|
||||
// here to request the missing permissions, and then overriding
|
||||
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
|
||||
// int[] grantResults)
|
||||
// to handle the case where the user grants the permission. See the documentation
|
||||
// for ActivityCompat#requestPermissions for more details.
|
||||
return;
|
||||
//ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION},1);
|
||||
}else{
|
||||
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
|
||||
}
|
||||
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
|
||||
|
||||
|
||||
Log.d(TAG, "Service Created. Starting notification task...");
|
||||
mNotifyTask.run();
|
||||
|
||||
@@ -59,6 +59,8 @@ public class SessionManager {
|
||||
public static final String KEY_SUBS_NOADS = "subs_noads";
|
||||
public static final String KEY_SUBS_PREMIUM = "subs_premium";
|
||||
|
||||
public static final String KEY_LAST_ADD_SHOWN = "lastaddschown";
|
||||
|
||||
public SessionManager(Context context) {
|
||||
this._context = context;
|
||||
status = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
|
||||
@@ -95,6 +97,15 @@ public class SessionManager {
|
||||
return status.getBoolean(KEY_NOTIFY_GPS, true);
|
||||
}
|
||||
|
||||
public void setLastAddShown(Long time){
|
||||
statusEditor.putLong(KEY_LAST_ADD_SHOWN, time);
|
||||
statusEditor.apply();
|
||||
}
|
||||
|
||||
public Long getLastAddShown(){
|
||||
return status.getLong(KEY_LAST_ADD_SHOWN, 0);
|
||||
}
|
||||
|
||||
public void setLastNotification(String time){
|
||||
statusEditor.putString(KEY_LAST_NOTIFICATION, time);
|
||||
statusEditor.apply();
|
||||
@@ -129,7 +140,7 @@ public class SessionManager {
|
||||
}
|
||||
|
||||
public Boolean getNotificationEnabled(){
|
||||
return status.getBoolean(KEY_NOTIFY_ENABLED, true);
|
||||
return status.getBoolean(KEY_NOTIFY_ENABLED, false);
|
||||
}
|
||||
|
||||
public void setSubsNoAds(boolean isEnabled){
|
||||
|
||||
Reference in New Issue
Block a user