MainActivity.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.drinkertea.test2smack;
  2. import androidx.annotation.NonNull;
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import androidx.core.app.ActivityCompat;
  5. import androidx.core.content.ContextCompat;
  6. import android.Manifest;
  7. import android.app.Activity;
  8. import android.app.Dialog;
  9. import android.app.ProgressDialog;
  10. import android.content.Intent;
  11. import android.content.SharedPreferences;
  12. import android.content.pm.PackageManager;
  13. import android.os.Bundle;
  14. import android.os.Handler;
  15. import android.text.method.HideReturnsTransformationMethod;
  16. import android.text.method.PasswordTransformationMethod;
  17. import android.view.View;
  18. import android.widget.CheckBox;
  19. import android.widget.EditText;
  20. import android.widget.Switch;
  21. import com.dcastalia.localappupdate.DownloadApk;
  22. import org.jivesoftware.smack.AbstractXMPPConnection;
  23. import org.jivesoftware.smack.MessageListener;
  24. import org.jivesoftware.smack.XMPPConnection;
  25. import org.jivesoftware.smack.chat2.Chat;
  26. import org.jivesoftware.smack.chat2.ChatManager;
  27. import org.jivesoftware.smack.chat2.IncomingChatMessageListener;
  28. import org.jivesoftware.smack.packet.Message;
  29. import org.jivesoftware.smack.packet.Presence;
  30. import org.jivesoftware.smack.roster.Roster;
  31. import org.jivesoftware.smack.roster.RosterEntry;
  32. import org.jivesoftware.smackx.mam.MamManager;
  33. import org.jivesoftware.smackx.muc.HostedRoom;
  34. import org.jivesoftware.smackx.muc.InvitationListener;
  35. import org.jivesoftware.smackx.muc.MultiUserChat;
  36. import org.jivesoftware.smackx.muc.MultiUserChatManager;
  37. import org.jivesoftware.smackx.muc.packet.MUCUser;
  38. import org.jxmpp.jid.DomainBareJid;
  39. import org.jxmpp.jid.EntityBareJid;
  40. import org.jxmpp.jid.EntityFullJid;
  41. import org.jxmpp.jid.EntityJid;
  42. import org.jxmpp.jid.impl.JidCreate;
  43. import org.jxmpp.jid.parts.Resourcepart;
  44. import java.util.Collection;
  45. import java.util.List;
  46. import java.util.Map;
  47. import java.util.Timer;
  48. import java.util.TimerTask;
  49. public class MainActivity extends AppCompatActivity {
  50. private EditText ETemail;
  51. private EditText ETpassword;
  52. private SharedPreferences pref;
  53. private Switch switchPass;
  54. String email;
  55. String password;
  56. @Override
  57. protected void onCreate(Bundle savedInstanceState) {
  58. super.onCreate(savedInstanceState);
  59. setContentView(R.layout.activity_main);
  60. pref = getSharedPreferences("login_pass_pref", MODE_PRIVATE);
  61. ETemail = (EditText) findViewById(R.id.ETEmail);
  62. ETpassword = (EditText) findViewById(R.id.ETPassword);
  63. switchPass = (Switch) findViewById(R.id.SwitchBoxPassword);
  64. ETemail.setText(pref.getString("email", ""));
  65. ETpassword.setText(pref.getString("pass", ""));
  66. }
  67. public void RunService(){
  68. if(!NotificationService.serverIsWorked){
  69. startService(new Intent(this, NotificationService.class));
  70. }
  71. else {
  72. System.out.println("Server work!");
  73. }
  74. }
  75. public void goToPageWithChats(View view){
  76. try {
  77. SharedPreferences.Editor editor = pref.edit();
  78. email = ETemail.getText().toString();
  79. password = ETpassword.getText().toString();
  80. //Авторизация
  81. boolean isLogin = XMPPClass.XMPP_Connection(email, password);
  82. //Переход и заупск сервера
  83. if (isLogin && XMPPClass.connection.getUser() != null){
  84. editor.putString("email", email);
  85. editor.putString("pass", password);
  86. editor.apply();
  87. //RunService();
  88. //Intent intent = new Intent(this, ChatsList.class);
  89. //startActivity(intent);
  90. Intent intent = new Intent(this, ChatsRooms.class);
  91. startActivity(intent);
  92. }
  93. else {
  94. System.out.println("Error connect!");
  95. }
  96. }catch (Exception ex){
  97. System.out.println(ex.getMessage());
  98. }
  99. }
  100. public void testMethod(View view) throws Exception{
  101. /*email = ETemail.getText().toString();
  102. password = ETpassword.getText().toString();
  103. boolean isLogin = XMPPClass.XMPP_Connection(email, password);
  104. if (isLogin && XMPPClass.connection.getUser() != null){
  105. try {
  106. RunService();
  107. Intent intent = new Intent(this, rooms.class);
  108. startActivity(intent);
  109. }catch (Exception ex){
  110. System.out.println(ex.getMessage());
  111. }
  112. }
  113. else {
  114. System.out.println("Error connect!");
  115. }*/
  116. }
  117. public void stopNotificationClick(View view) throws Exception{
  118. stopService(new Intent(this, NotificationService.class));
  119. }
  120. public void updateApp(View view) throws Exception{
  121. String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.REQUEST_INSTALL_PACKAGES};
  122. if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) ==
  123. PackageManager.PERMISSION_GRANTED){
  124. String BASEURL = "https://github.com/WorldOfPets/test_apk_file/raw/master/app-debug.apk";
  125. DownloadApk downloadApk = new DownloadApk(MainActivity.this);
  126. downloadApk.startDownloadingApk(BASEURL);
  127. } else {
  128. ActivityCompat.requestPermissions(
  129. this,
  130. permissions,
  131. 1
  132. );
  133. }
  134. }
  135. public void showPass(View view) {
  136. if(switchPass.isChecked()){
  137. ETpassword.setTransformationMethod(new HideReturnsTransformationMethod());
  138. }
  139. else {
  140. ETpassword.setTransformationMethod(new PasswordTransformationMethod());
  141. }
  142. }
  143. }