mirror of
https://github.com/DrKLO/Telegram.git
synced 2025-03-14 11:44:00 +01:00
Works when Telegram is closed
This commit is contained in:
parent
b1fda268c1
commit
3abe32376b
2 changed files with 80 additions and 33 deletions
|
@ -23,6 +23,7 @@ import android.support.v4.app.FragmentManager;
|
|||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.util.Log;
|
||||
import android.view.Surface;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -31,7 +32,9 @@ import android.view.WindowManager;
|
|||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.telegram.TL.TLRPC;
|
||||
import org.telegram.messenger.ConnectionsManager;
|
||||
import org.telegram.messenger.ContactsController;
|
||||
import org.telegram.messenger.FileLog;
|
||||
import org.telegram.messenger.MessagesController;
|
||||
import org.telegram.messenger.NotificationCenter;
|
||||
|
@ -47,6 +50,7 @@ import net.hockeyapp.android.UpdateManager;
|
|||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Enumeration;
|
||||
|
||||
public class ApplicationActivity extends ActionBarActivity implements NotificationCenter.NotificationCenterDelegate, MessagesActivity.MessagesActivityDelegate {
|
||||
private boolean finished = false;
|
||||
|
@ -121,26 +125,43 @@ public class ApplicationActivity extends ActionBarActivity implements Notificati
|
|||
videoPath = (String)NotificationCenter.Instance.getFromMemCache(534);
|
||||
sendingText = (String)NotificationCenter.Instance.getFromMemCache(535);
|
||||
|
||||
String phone_ntg = (String)NotificationCenter.Instance.getFromMemCache("phone_ntg", null);
|
||||
if( phone_ntg != null){
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(ApplicationLoader.applicationContext.getString(R.string.InviteUser));
|
||||
builder.setTitle(ApplicationLoader.applicationContext.getString(R.string.AppName));
|
||||
final String arg1 = phone_ntg;
|
||||
builder.setPositiveButton(ApplicationLoader.applicationContext.getString(R.string.OK), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
try {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", arg1, null));
|
||||
intent.putExtra("sms_body", ApplicationLoader.applicationContext.getString(R.string.InviteText));
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
FileLog.e("tmessages", e);
|
||||
String phone = (String)NotificationCenter.Instance.getFromMemCache("phone", null);
|
||||
if (phone != null) {
|
||||
if (ContactsController.Instance.contactsLoaded) {
|
||||
push_user_id = 0;
|
||||
Enumeration<TLRPC.User> users = MessagesController.Instance.users.elements();
|
||||
while (users.hasMoreElements()) {
|
||||
TLRPC.User u = users.nextElement();
|
||||
if(u.phone.equals(phone)) {
|
||||
push_user_id = u.id;
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(ApplicationLoader.applicationContext.getString(R.string.Cancel), null);
|
||||
builder.show().setCanceledOnTouchOutside(true);
|
||||
if (push_user_id != 0) {
|
||||
NotificationCenter.Instance.postNotificationName(MessagesController.closeChats);
|
||||
} else {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(ApplicationLoader.applicationContext.getString(R.string.InviteUser));
|
||||
builder.setTitle(ApplicationLoader.applicationContext.getString(R.string.AppName));
|
||||
final String arg1 = phone;
|
||||
builder.setPositiveButton(ApplicationLoader.applicationContext.getString(R.string.OK), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
try {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", arg1, null));
|
||||
intent.putExtra("sms_body", ApplicationLoader.applicationContext.getString(R.string.InviteText));
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
FileLog.e("tmessages", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(ApplicationLoader.applicationContext.getString(R.string.Cancel), null);
|
||||
builder.show().setCanceledOnTouchOutside(true);
|
||||
}
|
||||
} else {
|
||||
NotificationCenter.Instance.addToMemCache("ur_phone",phone);
|
||||
NotificationCenter.Instance.addObserver(this, MessagesController.contactsDidLoaded);
|
||||
}
|
||||
}
|
||||
|
||||
if (push_user_id != 0) {
|
||||
|
@ -533,6 +554,46 @@ public class ApplicationActivity extends ActionBarActivity implements Notificati
|
|||
FileLog.e("tmessages", "switch to state " + state);
|
||||
currentConnectionState = state;
|
||||
updateActionBar();
|
||||
}
|
||||
} else if (id == MessagesController.contactsDidLoaded) {
|
||||
String phone = (String)NotificationCenter.Instance.getFromMemCache("ur_phone",null);
|
||||
if(phone != null){
|
||||
int user_id = 0;
|
||||
Enumeration<TLRPC.User> users = MessagesController.Instance.users.elements();
|
||||
while (users.hasMoreElements()) {
|
||||
TLRPC.User u = users.nextElement();
|
||||
if(u.phone.equals(phone)) {
|
||||
user_id = u.id;
|
||||
}
|
||||
}
|
||||
if(user_id == 0) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(ApplicationLoader.applicationContext.getString(R.string.InviteUser));
|
||||
builder.setTitle(ApplicationLoader.applicationContext.getString(R.string.AppName));
|
||||
final String arg1 = phone;
|
||||
builder.setPositiveButton(ApplicationLoader.applicationContext.getString(R.string.OK), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
try {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", arg1, null));
|
||||
intent.putExtra("sms_body", ApplicationLoader.applicationContext.getString(R.string.InviteText));
|
||||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
FileLog.e("tmessages", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(ApplicationLoader.applicationContext.getString(R.string.Cancel), null);
|
||||
builder.show().setCanceledOnTouchOutside(true);
|
||||
|
||||
} else {
|
||||
NotificationCenter.Instance.postNotificationName(MessagesController.closeChats);
|
||||
NotificationCenter.Instance.addToMemCache("push_user_id", user_id);
|
||||
Intent intent2 = new Intent(this, ApplicationActivity.class);
|
||||
startActivity(intent2);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -138,21 +138,7 @@ public class LaunchActivity extends PausableActivity {
|
|||
phone = user.phone.substring(0,2) + phone;
|
||||
}
|
||||
}
|
||||
|
||||
int user_id = 0;
|
||||
Enumeration<TLRPC.User> users = MessagesController.Instance.users.elements();
|
||||
while (users.hasMoreElements()) {
|
||||
TLRPC.User u = users.nextElement();
|
||||
if(u.phone.equals(phone)) {
|
||||
user_id = u.id;
|
||||
}
|
||||
}
|
||||
if(user_id == 0) {
|
||||
NotificationCenter.Instance.addToMemCache("phone_ntg",phone);
|
||||
} else {
|
||||
NotificationCenter.Instance.postNotificationName(MessagesController.closeChats);
|
||||
NotificationCenter.Instance.addToMemCache("push_user_id", user_id);
|
||||
}
|
||||
NotificationCenter.Instance.addToMemCache("phone",phone);
|
||||
} else if (intent.getAction().equals("org.telegram.messenger.OPEN_ACCOUNT")) {
|
||||
NotificationCenter.Instance.addToMemCache("open_settings", 1);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue