forked from jens/Automation
Background location notifications in googlePlayFlavor
This commit is contained in:
@ -1,14 +1,21 @@
|
||||
package com.jens.automation2;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.View;
|
||||
import android.widget.QuickContactBadge;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.text.HtmlCompat;
|
||||
|
||||
public class ActivityDisplayLongMessage extends Activity
|
||||
{
|
||||
TextView tvLongMessage;
|
||||
TextView tvMessageTitle, tvLongMessage, tvMessageLink;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
@ -16,8 +23,34 @@ public class ActivityDisplayLongMessage extends Activity
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_display_long_message);
|
||||
|
||||
tvMessageTitle = (TextView)findViewById(R.id.tvMessageTitle);
|
||||
tvLongMessage = (TextView)findViewById(R.id.tvLongMessage);
|
||||
tvMessageLink = (TextView)findViewById(R.id.tvMessageLink);
|
||||
|
||||
tvLongMessage.setText(getIntent().getStringExtra("longMessage"));
|
||||
String title = getIntent().getStringExtra("messageTitle");
|
||||
String message = getIntent().getStringExtra("longMessage").replace("\\n", Miscellaneous.lineSeparator);
|
||||
|
||||
String link = null;
|
||||
if(getIntent().hasExtra("messageLink"))
|
||||
link = getIntent().getStringExtra("messageLink");
|
||||
|
||||
tvMessageTitle.setText(HtmlCompat.fromHtml(title, HtmlCompat.FROM_HTML_MODE_LEGACY));
|
||||
tvLongMessage.setText(message);
|
||||
|
||||
if(link != null && link.length() > 0)
|
||||
{
|
||||
tvMessageLink.setText(HtmlCompat.fromHtml("<u>" + link + "</u>", HtmlCompat.FROM_HTML_MODE_LEGACY));
|
||||
String finalLink = link;
|
||||
tvMessageLink.setOnClickListener(new View.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
public void onClick(View view)
|
||||
{
|
||||
Uri uriUrl = Uri.parse(finalLink);
|
||||
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
|
||||
startActivity(launchBrowser);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -53,23 +53,25 @@ public class ActivityMainPoi extends ActivityGeneric
|
||||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
// if(!ActivityPermissions.havePermission(ActivityPermissions.writeExternalStoragePermissionName, ActivityMainPoi.this))
|
||||
// {
|
||||
// Toast.makeText(ActivityMainPoi.this, getResources().getString(R.string.appRequiresPermissiontoAccessExternalStorage), Toast.LENGTH_LONG).show();
|
||||
// return;
|
||||
// }
|
||||
|
||||
if(!ActivityPermissions.havePermission(ActivityPermissions.permissionNameLocationCoarse, ActivityMainPoi.this) || !ActivityPermissions.havePermission(ActivityPermissions.permissionNameLocationFine, ActivityMainPoi.this))
|
||||
if(Miscellaneous.googleToBlameForLocation())
|
||||
{
|
||||
Intent permissionIntent = new Intent(ActivityMainPoi.this, ActivityPermissions.class);
|
||||
|
||||
permissionIntent.putExtra(ActivityPermissions.intentExtraName, new String[] { ActivityPermissions.permissionNameLocationCoarse, ActivityPermissions.permissionNameLocationFine });
|
||||
|
||||
startActivityForResult(permissionIntent, requestCodeForPermission);
|
||||
ActivityMainScreen.openGoogleBlamingWindow();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonAddPoi();
|
||||
if (!ActivityPermissions.havePermission(ActivityPermissions.permissionNameLocationCoarse, ActivityMainPoi.this) || !ActivityPermissions.havePermission(ActivityPermissions.permissionNameLocationFine, ActivityMainPoi.this))
|
||||
{
|
||||
Intent permissionIntent = new Intent(ActivityMainPoi.this, ActivityPermissions.class);
|
||||
|
||||
permissionIntent.putExtra(ActivityPermissions.intentExtraName, new String[]{ActivityPermissions.permissionNameLocationCoarse, ActivityPermissions.permissionNameLocationFine});
|
||||
|
||||
startActivityForResult(permissionIntent, requestCodeForPermission);
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonAddPoi();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -328,9 +328,7 @@ public class ActivityMainScreen extends ActivityGeneric
|
||||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
Intent intent = new Intent(Miscellaneous.getAnyContext(), ActivityDisplayLongMessage.class);
|
||||
intent.putExtra("longMessage", Miscellaneous.getAnyContext().getResources().getString(R.string.locationEngineDisabledLong));
|
||||
Miscellaneous.getAnyContext().startActivity(intent);
|
||||
openGoogleBlamingWindow();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -459,6 +457,16 @@ public class ActivityMainScreen extends ActivityGeneric
|
||||
}
|
||||
}
|
||||
|
||||
public static void openGoogleBlamingWindow()
|
||||
{
|
||||
Intent intent = new Intent(Miscellaneous.getAnyContext(), ActivityDisplayLongMessage.class);
|
||||
String message = Miscellaneous.getAnyContext().getResources().getText(R.string.locationEngineDisabledLong).toString();
|
||||
intent.putExtra("messageTitle", Miscellaneous.getAnyContext().getResources().getString(R.string.locationDisabled));
|
||||
intent.putExtra("longMessage", message);
|
||||
intent.putExtra("messageLink", "https://f-droid.org/en/packages/com.jens.automation2/");
|
||||
Miscellaneous.getAnyContext().startActivity(intent);
|
||||
}
|
||||
|
||||
static void newsOptIn()
|
||||
{
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(Miscellaneous.getAnyContext());
|
||||
|
@ -165,7 +165,7 @@ public class ActivityManageRule extends Activity
|
||||
hideKeyboard();
|
||||
getActionTypeDialog().show();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
cmdSaveRule.setOnClickListener(new OnClickListener()
|
||||
{
|
||||
@ -502,12 +502,20 @@ public class ActivityManageRule extends Activity
|
||||
String[] booleanChoices = null;
|
||||
if(triggerType == Trigger_Enum.pointOfInterest)
|
||||
{
|
||||
if(PointOfInterest.getPointOfInterestCollection() != null && PointOfInterest.getPointOfInterestCollection().size() > 0)
|
||||
booleanChoices = new String[]{getResources().getString(R.string.entering), getResources().getString(R.string.leaving)};
|
||||
if(Miscellaneous.googleToBlameForLocation())
|
||||
{
|
||||
ActivityMainScreen.openGoogleBlamingWindow();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Toast.makeText(myContext, getResources().getString(R.string.noPoisSpecified), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
if (PointOfInterest.getPointOfInterestCollection() != null && PointOfInterest.getPointOfInterestCollection().size() > 0)
|
||||
booleanChoices = new String[]{getResources().getString(R.string.entering), getResources().getString(R.string.leaving)};
|
||||
else
|
||||
{
|
||||
Toast.makeText(myContext, getResources().getString(R.string.noPoisSpecified), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(triggerType == Trigger_Enum.timeFrame)
|
||||
|
Reference in New Issue
Block a user