diff --git a/Rooster/.idea/caches/build_file_checksums.ser b/Rooster/.idea/caches/build_file_checksums.ser
new file mode 100644
index 0000000..2e3fe03
Binary files /dev/null and b/Rooster/.idea/caches/build_file_checksums.ser differ
diff --git a/Rooster/.idea/codeStyles/Project.xml b/Rooster/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..681f41a
--- /dev/null
+++ b/Rooster/.idea/codeStyles/Project.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ xmlns:android
+
+ ^$
+
+
+
+
+
+
+
+
+ xmlns:.*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+
+ ^$
+
+
+
+
+
+
+
+
+ style
+
+ ^$
+
+
+
+
+
+
+
+
+ .*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+
+ http://schemas.android.com/apk/res/android
+
+
+ ANDROID_ATTRIBUTE_ORDER
+
+
+
+
+
+
+ .*
+
+ .*
+
+
+ BY_NAME
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Rooster/.idea/gradle.xml b/Rooster/.idea/gradle.xml
index 7ac24c7..5cd135a 100644
--- a/Rooster/.idea/gradle.xml
+++ b/Rooster/.idea/gradle.xml
@@ -1,8 +1,10 @@
+
-
+
diff --git a/Rooster/.idea/modules.xml b/Rooster/.idea/modules.xml
index 41b5b1e..0155e36 100644
--- a/Rooster/.idea/modules.xml
+++ b/Rooster/.idea/modules.xml
@@ -3,6 +3,8 @@
+
+
diff --git a/Rooster/.idea/vcs.xml b/Rooster/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/Rooster/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Rooster/app/build.gradle b/Rooster/app/build.gradle
index 08173da..0e40d8e 100644
--- a/Rooster/app/build.gradle
+++ b/Rooster/app/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
- buildToolsVersion '27.0.3'
+ compileSdkVersion 29
+ buildToolsVersion '29.0.3'
defaultConfig {
applicationId "com.blikoon.rooster"
- minSdkVersion 16
- targetSdkVersion 23
+ minSdkVersion 21
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
}
@@ -20,8 +20,7 @@ android {
}
ext {
- smackVersion = '4.2.4'
- supportLibVersion = '27.1.0'
+ smackVersion = '4.3.4'
}
//Ge rid of problem described here : https://stackoverflow.com/questions/31049735/can-not-run-application-below-lollipop
@@ -30,14 +29,16 @@ configurations {
}
dependencies {
- compile fileTree(include: ['*.jar'], dir: 'libs')
- testCompile 'junit:junit:4.12'
- implementation "com.android.support:appcompat-v7:$supportLibVersion"
- implementation "com.android.support:design:$supportLibVersion"
- implementation "com.android.support:recyclerview-v7:$supportLibVersion"
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ testImplementation 'junit:junit:4.13'
+
+ implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'com.google.android.material:material:1.1.0'
+ implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.github.timigod:android-chat-ui:v0.1.3'
+
implementation "org.igniterealtime.smack:smack-tcp:$smackVersion"
implementation "org.igniterealtime.smack:smack-experimental:$smackVersion"
- implementation "org.igniterealtime.smack:smack-android:$smackVersion"
+ implementation "org.igniterealtime.smack:smack-android:${smackVersion}"
}
diff --git a/Rooster/app/src/main/AndroidManifest.xml b/Rooster/app/src/main/AndroidManifest.xml
index dd04cd7..f72df33 100644
--- a/Rooster/app/src/main/AndroidManifest.xml
+++ b/Rooster/app/src/main/AndroidManifest.xml
@@ -1,32 +1,32 @@
-
+
-
-
-
-
-
+
+ android:theme="@style/AppTheme"
+ tools:replace="android:allowBackup"
+ >
+ android:label="@string/app_name"
+ >
-
+
-
+
-
-
-
-
+
+
+
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/ChatActivity.java b/Rooster/app/src/main/java/com/blikoon/rooster/ChatActivity.java
index 9c239a4..fb08451 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/ChatActivity.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/ChatActivity.java
@@ -4,18 +4,18 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
+import androidx.appcompat.app.AppCompatActivity;
import co.intentservice.chatui.ChatView;
import co.intentservice.chatui.models.ChatMessage;
public class ChatActivity extends AppCompatActivity {
- private static final String TAG ="ChatActivity";
+ private static final String TAG = "ChatActivity";
private String contactJid;
private ChatView mChatView;
@@ -25,11 +25,11 @@ public class ChatActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
- mChatView =(ChatView) findViewById(R.id.rooster_chat_view);
+ mChatView = (ChatView) findViewById(R.id.rooster_chat_view);
- mChatView.setOnSentMessageListener(new ChatView.OnSentMessageListener(){
+ mChatView.setOnSentMessageListener(new ChatView.OnSentMessageListener() {
@Override
- public boolean sendMessage(ChatMessage chatMessage){
+ public boolean sendMessage(ChatMessage chatMessage) {
// perform actual message sending
if (RoosterConnectionService.getState().equals(RoosterConnection.ConnectionState.CONNECTED)) {
Log.d(TAG, "The client is connected to the server,Sending Message");
@@ -53,18 +53,6 @@ public boolean sendMessage(ChatMessage chatMessage){
});
-
-
-
-
-
-
-
-
-
-
-
-
Intent intent = getIntent();
contactJid = intent.getStringExtra("EXTRA_CONTACT_JID");
setTitle(contactJid);
@@ -83,20 +71,17 @@ protected void onResume() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- switch (action)
- {
+ switch (action) {
case RoosterConnectionService.NEW_MESSAGE:
String from = intent.getStringExtra(RoosterConnectionService.BUNDLE_FROM_JID);
String body = intent.getStringExtra(RoosterConnectionService.BUNDLE_MESSAGE_BODY);
- if ( from.equals(contactJid))
- {
- ChatMessage chatMessage = new ChatMessage(body,System.currentTimeMillis(), ChatMessage.Type.RECEIVED);
+ if (from.equals(contactJid)) {
+ ChatMessage chatMessage = new ChatMessage(body, System.currentTimeMillis(), ChatMessage.Type.RECEIVED);
mChatView.addMessage(chatMessage);
- }else
- {
- Log.d(TAG,"Got a message from jid :"+from);
+ } else {
+ Log.d(TAG, "Got a message from jid :" + from);
}
return;
@@ -106,7 +91,7 @@ public void onReceive(Context context, Intent intent) {
};
IntentFilter filter = new IntentFilter(RoosterConnectionService.NEW_MESSAGE);
- registerReceiver(mBroadcastReceiver,filter);
+ registerReceiver(mBroadcastReceiver, filter);
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/Contact.java b/Rooster/app/src/main/java/com/blikoon/rooster/Contact.java
index 0a328c7..cd4d674 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/Contact.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/Contact.java
@@ -6,13 +6,11 @@
public class Contact {
private String jid;
- public Contact(String contactJid )
- {
+ public Contact(String contactJid) {
jid = contactJid;
}
- public String getJid()
- {
+ public String getJid() {
return jid;
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/ContactListActivity.java b/Rooster/app/src/main/java/com/blikoon/rooster/ContactListActivity.java
index a71101a..4cbd975 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/ContactListActivity.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/ContactListActivity.java
@@ -1,10 +1,7 @@
package com.blikoon.rooster;
import android.content.Intent;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -14,6 +11,10 @@
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import java.util.List;
public class ContactListActivity extends AppCompatActivity {
@@ -47,18 +48,17 @@ public boolean onCreateOptionsMenu(Menu menu) {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if(item.getItemId() == R.id.rooster_logout)
- {
+ if (item.getItemId() == R.id.rooster_logout) {
//Disconnect from server
- Log.d(TAG,"Initiating the log out process");
- Intent i1 = new Intent(this,RoosterConnectionService.class);
+ Log.d(TAG, "Initiating the log out process");
+ Intent i1 = new Intent(this, RoosterConnectionService.class);
stopService(i1);
//Finish this activity
finish();
//Start login activity for user to login
- Intent loginIntent = new Intent(this,LoginActivity.class);
+ Intent loginIntent = new Intent(this, LoginActivity.class);
startActivity(loginIntent);
}
@@ -66,12 +66,11 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
- private class ContactHolder extends RecyclerView.ViewHolder
- {
+ private class ContactHolder extends RecyclerView.ViewHolder {
private TextView contactTextView;
private Contact mContact;
- public ContactHolder ( View itemView)
- {
+
+ public ContactHolder(View itemView) {
super(itemView);
contactTextView = (TextView) itemView.findViewById(R.id.contact_jid);
@@ -81,8 +80,8 @@ public ContactHolder ( View itemView)
public void onClick(View v) {
//Inside here we start the chat activity
Intent intent = new Intent(ContactListActivity.this
- ,ChatActivity.class);
- intent.putExtra("EXTRA_CONTACT_JID",mContact.getJid());
+ , ChatActivity.class);
+ intent.putExtra("EXTRA_CONTACT_JID", mContact.getJid());
startActivity(intent);
@@ -91,12 +90,10 @@ public void onClick(View v) {
}
- public void bindContact( Contact contact)
- {
+ public void bindContact(Contact contact) {
mContact = contact;
- if (mContact == null)
- {
- Log.d(TAG,"Trying to work on a null Contact object ,returning.");
+ if (mContact == null) {
+ Log.d(TAG, "Trying to work on a null Contact object ,returning.");
return;
}
contactTextView.setText(mContact.getJid());
@@ -105,12 +102,10 @@ public void bindContact( Contact contact)
}
- private class ContactAdapter extends RecyclerView.Adapter
- {
+ private class ContactAdapter extends RecyclerView.Adapter {
private List mContacts;
- public ContactAdapter( List contactList)
- {
+ public ContactAdapter(List contactList) {
mContacts = contactList;
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/ContactModel.java b/Rooster/app/src/main/java/com/blikoon/rooster/ContactModel.java
index 60b419f..28d99c0 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/ContactModel.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/ContactModel.java
@@ -13,27 +13,22 @@ public class ContactModel {
private static ContactModel sContactModel;
private List mContacts;
- public static ContactModel get(Context context)
- {
- if(sContactModel == null)
- {
+ public static ContactModel get(Context context) {
+ if (sContactModel == null) {
sContactModel = new ContactModel(context);
}
- return sContactModel;
+ return sContactModel;
}
- private ContactModel(Context context)
- {
+ private ContactModel(Context context) {
mContacts = new ArrayList<>();
populateWithInitialContacts(context);
}
- private void populateWithInitialContacts(Context context)
- {
+ private void populateWithInitialContacts(Context context) {
//Create the Foods and add them to the list;
-
Contact contact1 = new Contact("gakwaya@salama.im");
mContacts.add(contact1);
Contact contact2 = new Contact("User2@server.com");
@@ -50,8 +45,7 @@ private void populateWithInitialContacts(Context context)
mContacts.add(contact7);
}
- public List getContacts()
- {
+ public List getContacts() {
return mContacts;
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/LoginActivity.java b/Rooster/app/src/main/java/com/blikoon/rooster/LoginActivity.java
index 38d9043..29ec034 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/LoginActivity.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/LoginActivity.java
@@ -2,20 +2,13 @@
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
-import android.annotation.TargetApi;
-import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.preference.PreferenceManager;
-import android.support.annotation.NonNull;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AppCompatActivity;
-import android.os.Build;
import android.os.Bundle;
+import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
@@ -27,15 +20,14 @@
import android.widget.EditText;
import android.widget.TextView;
-import static android.Manifest.permission.READ_CONTACTS;
+import androidx.appcompat.app.AppCompatActivity;
/**
* A login screen that offers login via jid/password.
*/
-public class LoginActivity extends AppCompatActivity
-{
+public class LoginActivity extends AppCompatActivity {
- private static final String TAG="LoginActivity";
+ private static final String TAG = "LoginActivity";
/**
* Id to identity READ_CONTACTS permission request.
@@ -58,7 +50,6 @@ protected void onCreate(Bundle savedInstanceState) {
//Show
// Set up the login form.
mJidView = (AutoCompleteTextView) findViewById(R.id.email);
- populateAutoComplete();
mPasswordView = (EditText) findViewById(R.id.password);
mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@@ -84,7 +75,6 @@ public void onClick(View view) {
mProgressView = findViewById(R.id.login_progress);
mContext = this;
-
}
@Override
@@ -101,16 +91,13 @@ protected void onResume() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- switch (action)
- {
- case RoosterConnectionService.UI_AUTHENTICATED:
- Log.d(TAG,"Got a broadcast to show the main app window");
- //Show the main app window
- showProgress(false);
- Intent i2 = new Intent(mContext,ContactListActivity.class);
- startActivity(i2);
- finish();
- break;
+ if (RoosterConnectionService.UI_AUTHENTICATED.equals(action)) {
+ Log.d(TAG, "Got a broadcast to show the main app window");
+ //Show the main app window
+ showProgress(false);
+ Intent i2 = new Intent(mContext, ContactListActivity.class);
+ startActivity(i2);
+ finish();
}
}
@@ -119,50 +106,6 @@ public void onReceive(Context context, Intent intent) {
this.registerReceiver(mBroadcastReceiver, filter);
}
- private void populateAutoComplete() {
- if (!mayRequestContacts()) {
- return;
- }
-
- //getLoaderManager().initLoader(0, null, this);
- }
-
- private boolean mayRequestContacts() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
- return true;
- }
- if (checkSelfPermission(READ_CONTACTS) == PackageManager.PERMISSION_GRANTED) {
- return true;
- }
- if (shouldShowRequestPermissionRationale(READ_CONTACTS)) {
- Snackbar.make(mJidView, R.string.permission_rationale, Snackbar.LENGTH_INDEFINITE)
- .setAction(android.R.string.ok, new View.OnClickListener() {
- @Override
- @TargetApi(Build.VERSION_CODES.M)
- public void onClick(View v) {
- requestPermissions(new String[]{READ_CONTACTS}, REQUEST_READ_CONTACTS);
- }
- });
- } else {
- requestPermissions(new String[]{READ_CONTACTS}, REQUEST_READ_CONTACTS);
- }
- return false;
- }
-
- /**
- * Callback received when a permissions request has been completed.
- */
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
- @NonNull int[] grantResults) {
- if (requestCode == REQUEST_READ_CONTACTS) {
- if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- populateAutoComplete();
- }
- }
- }
-
-
/**
* Attempts to sign in or register the account specified by the login form.
* If there are form errors (invalid email, missing fields, etc.), the
@@ -217,18 +160,17 @@ private void attemptLogin() {
}
}
- private void saveCredentialsAndLogin()
- {
- Log.d(TAG,"saveCredentialsAndLogin() called.");
+ private void saveCredentialsAndLogin() {
+ Log.d(TAG, "saveCredentialsAndLogin() called.");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit()
.putString("xmpp_jid", mJidView.getText().toString())
.putString("xmpp_password", mPasswordView.getText().toString())
- .putBoolean("xmpp_logged_in",true)
+ .putBoolean("xmpp_logged_in", true)
.commit();
//Start the service
- Intent i1 = new Intent(this,RoosterConnectionService.class);
+ Intent i1 = new Intent(this, RoosterConnectionService.class);
startService(i1);
}
@@ -246,54 +188,30 @@ private boolean isPasswordValid(String password) {
/**
* Shows the progress UI and hides the login form.
*/
- @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
private void showProgress(final boolean show) {
// On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow
// for very easy animations. If available, use these APIs to fade-in
// the progress spinner.
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
- int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);
-
- mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
- mLoginFormView.animate().setDuration(shortAnimTime).alpha(
- show ? 0 : 1).setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
- }
- });
-
- mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
- mProgressView.animate().setDuration(shortAnimTime).alpha(
- show ? 1 : 0).setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
- }
- });
- } else {
- // The ViewPropertyAnimator APIs are not available, so simply show
- // and hide the relevant UI components.
- mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
- mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
- }
- }
-
-
-
+ int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);
+ mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
+ mLoginFormView.animate().setDuration(shortAnimTime).alpha(
+ show ? 0 : 1).setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
+ }
+ });
- //Check if service is running.
- private boolean isServiceRunning(Class> serviceClass) {
- ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
- if (serviceClass.getName().equals(service.service.getClassName())) {
- return true;
+ mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
+ mProgressView.animate().setDuration(shortAnimTime).alpha(
+ show ? 1 : 0).setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mProgressView.setVisibility(show ? View.VISIBLE : View.GONE);
}
- }
- return false;
+ });
}
-
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnection.java b/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnection.java
index 450a3a6..202a7fc 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnection.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnection.java
@@ -14,8 +14,6 @@
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
-
-import org.jivesoftware.smack.chat.ChatMessageListener;
import org.jivesoftware.smack.chat2.Chat;
import org.jivesoftware.smack.chat2.ChatManager;
import org.jivesoftware.smack.chat2.IncomingChatMessageListener;
@@ -35,53 +33,46 @@ public class RoosterConnection implements ConnectionListener {
private static final String TAG = "RoosterConnection";
- private final Context mApplicationContext;
- private final String mUsername;
- private final String mPassword;
- private final String mServiceName;
+ private final Context mApplicationContext;
+ private final String mUsername;
+ private final String mPassword;
+ private final String mServiceName;
private XMPPTCPConnection mConnection;
private BroadcastReceiver uiThreadMessageReceiver;//Receives messages from the ui thread.
- public static enum ConnectionState
- {
- CONNECTED ,AUTHENTICATED, CONNECTING ,DISCONNECTING ,DISCONNECTED;
+ public enum ConnectionState {
+ CONNECTED, AUTHENTICATED, CONNECTING, DISCONNECTING, DISCONNECTED
}
- public static enum LoggedInState
- {
- LOGGED_IN , LOGGED_OUT;
+ public enum LoggedInState {
+ LOGGED_IN, LOGGED_OUT
}
-
- public RoosterConnection( Context context)
- {
- Log.d(TAG,"RoosterConnection Constructor called.");
+ public RoosterConnection(Context context) {
+ Log.d(TAG, "RoosterConnection Constructor called.");
mApplicationContext = context.getApplicationContext();
String jid = PreferenceManager.getDefaultSharedPreferences(mApplicationContext)
- .getString("xmpp_jid",null);
+ .getString("xmpp_jid", null);
mPassword = PreferenceManager.getDefaultSharedPreferences(mApplicationContext)
- .getString("xmpp_password",null);
+ .getString("xmpp_password", null);
- if( jid != null)
- {
+ if (jid != null) {
mUsername = jid.split("@")[0];
mServiceName = jid.split("@")[1];
- }else
- {
- mUsername ="";
- mServiceName="";
+ } else {
+ mUsername = "";
+ mServiceName = "";
}
}
- public void connect() throws IOException,XMPPException,SmackException
- {
+ public void connect() throws IOException, XMPPException, SmackException {
Log.d(TAG, "Connecting to server " + mServiceName);
XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder()
.setXmppDomain(mServiceName)
- .setHost("salama.im")
+ .setHost("conversations.im")
.setResource("Rooster")
//Was facing this issue
@@ -91,9 +82,9 @@ public void connect() throws IOException,XMPPException,SmackException
.setSecurityMode(ConnectionConfiguration.SecurityMode.required)
.setCompressionEnabled(true).build();
- Log.d(TAG, "Username : "+mUsername);
- Log.d(TAG, "Password : "+mPassword);
- Log.d(TAG, "Server : "+mServiceName);
+ Log.d(TAG, "Username : " + mUsername);
+ Log.d(TAG, "Password : " + mPassword);
+ Log.d(TAG, "Server : " + mServiceName);
//Set up the ui thread broadcast message receiver.
@@ -104,7 +95,7 @@ public void connect() throws IOException,XMPPException,SmackException
try {
Log.d(TAG, "Calling connect() ");
mConnection.connect();
- mConnection.login(mUsername,mPassword);
+ mConnection.login(mUsername, mPassword);
Log.d(TAG, " login() Called ");
} catch (InterruptedException e) {
e.printStackTrace();
@@ -114,29 +105,27 @@ public void connect() throws IOException,XMPPException,SmackException
@Override
public void newIncomingMessage(EntityBareJid messageFrom, Message message, Chat chat) {
///ADDED
- Log.d(TAG,"message.getBody() :"+message.getBody());
- Log.d(TAG,"message.getFrom() :"+message.getFrom());
+ Log.d(TAG, "message.getBody() :" + message.getBody());
+ Log.d(TAG, "message.getFrom() :" + message.getFrom());
String from = message.getFrom().toString();
- String contactJid="";
- if ( from.contains("/"))
- {
+ String contactJid = "";
+ if (from.contains("/")) {
contactJid = from.split("/")[0];
- Log.d(TAG,"The real jid is :" +contactJid);
- Log.d(TAG,"The message is from :" +from);
- }else
- {
- contactJid=from;
+ Log.d(TAG, "The real jid is :" + contactJid);
+ Log.d(TAG, "The message is from :" + from);
+ } else {
+ contactJid = from;
}
//Bundle up the intent and send the broadcast.
Intent intent = new Intent(RoosterConnectionService.NEW_MESSAGE);
intent.setPackage(mApplicationContext.getPackageName());
- intent.putExtra(RoosterConnectionService.BUNDLE_FROM_JID,contactJid);
- intent.putExtra(RoosterConnectionService.BUNDLE_MESSAGE_BODY,message.getBody());
+ intent.putExtra(RoosterConnectionService.BUNDLE_FROM_JID, contactJid);
+ intent.putExtra(RoosterConnectionService.BUNDLE_MESSAGE_BODY, message.getBody());
mApplicationContext.sendBroadcast(intent);
- Log.d(TAG,"Received message from :"+contactJid+" broadcast sent.");
+ Log.d(TAG, "Received message from :" + contactJid + " broadcast sent.");
///ADDED
}
@@ -144,20 +133,18 @@ public void newIncomingMessage(EntityBareJid messageFrom, Message message, Chat
ReconnectionManager reconnectionManager = ReconnectionManager.getInstanceFor(mConnection);
- reconnectionManager.setEnabledPerDefault(true);
+ ReconnectionManager.setEnabledPerDefault(true);
reconnectionManager.enableAutomaticReconnection();
}
- private void setupUiThreadBroadCastMessageReceiver()
- {
+ private void setupUiThreadBroadCastMessageReceiver() {
uiThreadMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//Check if the Intents purpose is to send the message.
String action = intent.getAction();
- if( action.equals(RoosterConnectionService.SEND_MESSAGE))
- {
+ if (action.equals(RoosterConnectionService.SEND_MESSAGE)) {
//Send the message.
sendMessage(intent.getStringExtra(RoosterConnectionService.BUNDLE_MESSAGE_BODY),
intent.getStringExtra(RoosterConnectionService.BUNDLE_TO));
@@ -167,13 +154,12 @@ public void onReceive(Context context, Intent intent) {
IntentFilter filter = new IntentFilter();
filter.addAction(RoosterConnectionService.SEND_MESSAGE);
- mApplicationContext.registerReceiver(uiThreadMessageReceiver,filter);
+ mApplicationContext.registerReceiver(uiThreadMessageReceiver, filter);
}
- private void sendMessage ( String body ,String toJid)
- {
- Log.d(TAG,"Sending message to :"+ toJid);
+ private void sendMessage(String body, String toJid) {
+ Log.d(TAG, "Sending message to :" + toJid);
EntityBareJid jid = null;
@@ -199,23 +185,20 @@ private void sendMessage ( String body ,String toJid)
}
- public void disconnect()
- {
- Log.d(TAG,"Disconnecting from serser "+ mServiceName);
+ public void disconnect() {
+ Log.d(TAG, "Disconnecting from serser " + mServiceName);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mApplicationContext);
- prefs.edit().putBoolean("xmpp_logged_in",false).commit();
+ prefs.edit().putBoolean("xmpp_logged_in", false).commit();
- if (mConnection != null)
- {
+ if (mConnection != null) {
mConnection.disconnect();
}
mConnection = null;
// Unregister the message broadcast receiver.
- if( uiThreadMessageReceiver != null)
- {
+ if (uiThreadMessageReceiver != null) {
mApplicationContext.unregisterReceiver(uiThreadMessageReceiver);
uiThreadMessageReceiver = null;
}
@@ -225,59 +208,37 @@ public void disconnect()
@Override
public void connected(XMPPConnection connection) {
- RoosterConnectionService.sConnectionState=ConnectionState.CONNECTED;
- Log.d(TAG,"Connected Successfully");
+ RoosterConnectionService.sConnectionState = ConnectionState.CONNECTED;
+ Log.d(TAG, "Connected Successfully");
}
@Override
public void authenticated(XMPPConnection connection, boolean resumed) {
- RoosterConnectionService.sConnectionState=ConnectionState.CONNECTED;
- Log.d(TAG,"Authenticated Successfully");
+ RoosterConnectionService.sConnectionState = ConnectionState.CONNECTED;
+ Log.d(TAG, "Authenticated Successfully");
showContactListActivityWhenAuthenticated();
}
@Override
public void connectionClosed() {
- RoosterConnectionService.sConnectionState=ConnectionState.DISCONNECTED;
- Log.d(TAG,"Connectionclosed()");
+ RoosterConnectionService.sConnectionState = ConnectionState.DISCONNECTED;
+ Log.d(TAG, "Connectionclosed()");
}
@Override
public void connectionClosedOnError(Exception e) {
- RoosterConnectionService.sConnectionState=ConnectionState.DISCONNECTED;
- Log.d(TAG,"ConnectionClosedOnError, error "+ e.toString());
-
- }
-
- @Override
- public void reconnectingIn(int seconds) {
- RoosterConnectionService.sConnectionState = ConnectionState.CONNECTING;
- Log.d(TAG,"ReconnectingIn() ");
-
- }
-
- @Override
- public void reconnectionSuccessful() {
- RoosterConnectionService.sConnectionState = ConnectionState.CONNECTED;
- Log.d(TAG,"ReconnectionSuccessful()");
-
- }
-
- @Override
- public void reconnectionFailed(Exception e) {
RoosterConnectionService.sConnectionState = ConnectionState.DISCONNECTED;
- Log.d(TAG,"ReconnectionFailed()");
+ Log.d(TAG, "ConnectionClosedOnError, error " + e.toString());
}
- private void showContactListActivityWhenAuthenticated()
- {
+ private void showContactListActivityWhenAuthenticated() {
Intent i = new Intent(RoosterConnectionService.UI_AUTHENTICATED);
i.setPackage(mApplicationContext.getPackageName());
mApplicationContext.sendBroadcast(i);
- Log.d(TAG,"Sent the broadcast that we are authenticated");
+ Log.d(TAG, "Sent the broadcast that we are authenticated");
}
}
diff --git a/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnectionService.java b/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnectionService.java
index fe85c04..52403f2 100644
--- a/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnectionService.java
+++ b/Rooster/app/src/main/java/com/blikoon/rooster/RoosterConnectionService.java
@@ -5,9 +5,10 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.Nullable;
+
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
@@ -17,7 +18,7 @@
* Created by gakwaya on 4/28/2016.
*/
public class RoosterConnectionService extends Service {
- private static final String TAG ="RoosterService";
+ private static final String TAG = "RoosterService";
public static final String UI_AUTHENTICATED = "com.blikoon.rooster.uiauthenticated";
public static final String SEND_MESSAGE = "com.blikoon.rooster.sendmessage";
@@ -38,19 +39,16 @@ public class RoosterConnectionService extends Service {
public RoosterConnectionService() {
}
- public static RoosterConnection.ConnectionState getState()
- {
- if (sConnectionState == null)
- {
+
+ public static RoosterConnection.ConnectionState getState() {
+ if (sConnectionState == null) {
return RoosterConnection.ConnectionState.DISCONNECTED;
}
return sConnectionState;
}
- public static RoosterConnection.LoggedInState getLoggedInState()
- {
- if (sLoggedInState == null)
- {
+ public static RoosterConnection.LoggedInState getLoggedInState() {
+ if (sLoggedInState == null) {
return RoosterConnection.LoggedInState.LOGGED_OUT;
}
return sLoggedInState;
@@ -65,23 +63,19 @@ public IBinder onBind(Intent intent) {
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG,"onCreate()");
+ Log.d(TAG, "onCreate()");
}
- private void initConnection()
- {
- Log.d(TAG,"initConnection()");
- if( mConnection == null)
- {
+ private void initConnection() {
+ Log.d(TAG, "initConnection()");
+ if (mConnection == null) {
mConnection = new RoosterConnection(this);
}
- try
- {
+ try {
mConnection.connect();
- }catch (IOException |SmackException |XMPPException e)
- {
- Log.d(TAG,"Something went wrong while connecting ,make sure the credentials are right and try again");
+ } catch (IOException | SmackException | XMPPException e) {
+ Log.d(TAG, "Something went wrong while connecting ,make sure the credentials are right and try again");
e.printStackTrace();
//Stop the service all together.
stopSelf();
@@ -90,14 +84,11 @@ private void initConnection()
}
- public void start()
- {
- Log.d(TAG," Service Start() function called.");
- if(!mActive)
- {
+ public void start() {
+ Log.d(TAG, " Service Start() function called.");
+ if (!mActive) {
mActive = true;
- if( mThread ==null || !mThread.isAlive())
- {
+ if (mThread == null || !mThread.isAlive()) {
mThread = new Thread(new Runnable() {
@Override
public void run() {
@@ -118,15 +109,13 @@ public void run() {
}
- public void stop()
- {
- Log.d(TAG,"stop()");
+ public void stop() {
+ Log.d(TAG, "stop()");
mActive = false;
mTHandler.post(new Runnable() {
@Override
public void run() {
- if( mConnection != null)
- {
+ if (mConnection != null) {
mConnection.disconnect();
}
}
@@ -134,10 +123,9 @@ public void run() {
}
-
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
- Log.d(TAG,"onStartCommand()");
+ Log.d(TAG, "onStartCommand()");
start();
return Service.START_STICKY;
//RETURNING START_STICKY CAUSES OUR CODE TO STICK AROUND WHEN THE APP ACTIVITY HAS DIED.
@@ -145,7 +133,7 @@ public int onStartCommand(Intent intent, int flags, int startId) {
@Override
public void onDestroy() {
- Log.d(TAG,"onDestroy()");
+ Log.d(TAG, "onDestroy()");
super.onDestroy();
stop();
}
diff --git a/Rooster/app/src/main/res/layout/activity_contact_list.xml b/Rooster/app/src/main/res/layout/activity_contact_list.xml
index 49a47cc..72ddb38 100644
--- a/Rooster/app/src/main/res/layout/activity_contact_list.xml
+++ b/Rooster/app/src/main/res/layout/activity_contact_list.xml
@@ -10,11 +10,11 @@
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.blikoon.rooster.ContactListActivity">
-
-
+
diff --git a/Rooster/app/src/main/res/layout/activity_login.xml b/Rooster/app/src/main/res/layout/activity_login.xml
index 5300b98..e89ddde 100644
--- a/Rooster/app/src/main/res/layout/activity_login.xml
+++ b/Rooster/app/src/main/res/layout/activity_login.xml
@@ -30,7 +30,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
-
@@ -43,9 +43,9 @@
android:maxLines="1"
android:singleLine="true"/>
-
+
-
@@ -61,7 +61,7 @@
android:maxLines="1"
android:singleLine="true"/>
-
+