dejsem.1.5/android/dejsem.studio/app/src/main/java/hh/dejsem/SendUriNG.java
author hh
Wed, 27 Nov 2019 09:50:16 +0100
changeset 0 676905a3b03c
permissions -rw-r--r--
--
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
hh
parents:
diff changeset
     1
package hh.dejsem;
hh
parents:
diff changeset
     2
hh
parents:
diff changeset
     3
import android.content.ClipData;
hh
parents:
diff changeset
     4
import android.content.ClipboardManager;
hh
parents:
diff changeset
     5
import android.content.Context;
hh
parents:
diff changeset
     6
import android.content.DialogInterface;
hh
parents:
diff changeset
     7
import android.content.Intent;
hh
parents:
diff changeset
     8
import android.net.Uri;
hh
parents:
diff changeset
     9
import android.support.v7.app.AlertDialog;
hh
parents:
diff changeset
    10
import android.telephony.SmsManager;
hh
parents:
diff changeset
    11
hh
parents:
diff changeset
    12
import java.util.List;
hh
parents:
diff changeset
    13
hh
parents:
diff changeset
    14
import hh.dejsem.fm.TransferAlert;
hh
parents:
diff changeset
    15
import hh.lib.D;
hh
parents:
diff changeset
    16
hh
parents:
diff changeset
    17
/**
hh
parents:
diff changeset
    18
 * share http URL
hh
parents:
diff changeset
    19
 * ● complete URL from URI path
hh
parents:
diff changeset
    20
 * ● copy URL to clipboard
hh
parents:
diff changeset
    21
 * ● optionally share URL
hh
parents:
diff changeset
    22
 */
hh
parents:
diff changeset
    23
public class SendUriNG implements DialogInterface.OnClickListener {
hh
parents:
diff changeset
    24
hh
parents:
diff changeset
    25
	public static void decideSendUri(String uriPath) {
hh
parents:
diff changeset
    26
		if(uriPath != null && uriPath.length() > 0)
hh
parents:
diff changeset
    27
			K.app.startActivity(new Intent(K.app, TransferAlert.class)
hh
parents:
diff changeset
    28
					.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)     /*Intent.FLAG_ACTIVITY_SINGLE_TOP)*/
hh
parents:
diff changeset
    29
					.putExtra(K.ACTION_KEY, K.TRANSFER_SEND_URI)
hh
parents:
diff changeset
    30
					.putExtra(K.TXT_KEY, uriPath)
hh
parents:
diff changeset
    31
			);
hh
parents:
diff changeset
    32
	}
hh
parents:
diff changeset
    33
hh
parents:
diff changeset
    34
	D d;
hh
parents:
diff changeset
    35
	Context c;
hh
parents:
diff changeset
    36
	AlertDialog alert;
hh
parents:
diff changeset
    37
	public String uriStr;
hh
parents:
diff changeset
    38
hh
parents:
diff changeset
    39
	public SendUriNG(D d, Context c, String uriPath) {
hh
parents:
diff changeset
    40
		this.d = d.klon(this);
hh
parents:
diff changeset
    41
		this.c = c;
hh
parents:
diff changeset
    42
		uriStr = buildUri(uriPath).toString();
hh
parents:
diff changeset
    43
		if(this.d.ll(4)) this.d.l("exposed as " + uriStr);
hh
parents:
diff changeset
    44
		((ClipboardManager)(c.getSystemService(Context.CLIPBOARD_SERVICE)))     // pin URL on clipboard
hh
parents:
diff changeset
    45
				.setPrimaryClip(ClipData.newPlainText("exposed URL", uriStr));
hh
parents:
diff changeset
    46
	}
hh
parents:
diff changeset
    47
hh
parents:
diff changeset
    48
	@Override
hh
parents:
diff changeset
    49
	public void onClick(DialogInterface dialog, int which) {
hh
parents:
diff changeset
    50
		d.l(4,"onClick");
hh
parents:
diff changeset
    51
		if(which == DialogInterface.BUTTON_POSITIVE) send();
hh
parents:
diff changeset
    52
	}
hh
parents:
diff changeset
    53
hh
parents:
diff changeset
    54
	Uri buildUri(String uriPath) {
hh
parents:
diff changeset
    55
		return new Uri.Builder().scheme("http").authority(Prefs.host).path(uriPath).build();
hh
parents:
diff changeset
    56
	}
hh
parents:
diff changeset
    57
hh
parents:
diff changeset
    58
	void send() {
hh
parents:
diff changeset
    59
		Intent actionSEND = new Intent(Intent.ACTION_SEND).putExtra(Intent.EXTRA_TEXT, uriStr).setTypeAndNormalize("text/plain");
hh
parents:
diff changeset
    60
		c.startActivity(Intent.createChooser(actionSEND, null));
hh
parents:
diff changeset
    61
	}
hh
parents:
diff changeset
    62
hh
parents:
diff changeset
    63
	public void sendTestSMS(String url) {
hh
parents:
diff changeset
    64
		if(d.ll(4)) d.l("sent by SMS: " + url);
hh
parents:
diff changeset
    65
		SmsManager sms = SmsManager.getDefault();
hh
parents:
diff changeset
    66
		List<String> messages = sms.divideMessage(url);
hh
parents:
diff changeset
    67
		/*String recipient = recipientTextEdit.getText().toString();*/
hh
parents:
diff changeset
    68
		/*String recipient = "601593811";*/
hh
parents:
diff changeset
    69
		String recipient = "607677931";
hh
parents:
diff changeset
    70
		for (String message : messages) {
hh
parents:
diff changeset
    71
			if(d.ll(5)) d.l(String.format("sms.sendTextMessage(\"%s\", null, \"%s\", null, null)", recipient, message));
hh
parents:
diff changeset
    72
			sms.sendTextMessage(recipient, null, message, null, null);
hh
parents:
diff changeset
    73
		}
hh
parents:
diff changeset
    74
	}
hh
parents:
diff changeset
    75
}