Skip to content

Commit

Permalink
Refactored the serverClient and Server for NonAdminUsers
Browse files Browse the repository at this point in the history
Stores the non-admin user credentials
  • Loading branch information
octacode committed Sep 1, 2017
1 parent 182bc77 commit 8ed028b
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@
import org.amahi.anywhere.bus.NonAdminAuthSucceedEvent;
import org.amahi.anywhere.bus.NonAdminAuthenticationFailedEvent;
import org.amahi.anywhere.server.client.NonAdminClient;
import org.amahi.anywhere.server.client.ServerClient;
import org.amahi.anywhere.server.model.NonAdminAuthentication;
import org.amahi.anywhere.server.model.Server;
import org.amahi.anywhere.util.Intents;
import org.amahi.anywhere.util.Preferences;
import org.amahi.anywhere.util.ViewDirector;

import javax.inject.Inject;
Expand All @@ -36,6 +40,9 @@ public class NonAdminAuthenticationActivity extends AppCompatActivity implements
@Inject
NonAdminClient nonAdminClient;

@Inject
ServerClient serverClient;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down Expand Up @@ -143,8 +150,8 @@ private void authenticate() {
@Subscribe
public void onNonAdminAuthSucceed(NonAdminAuthSucceedEvent event) {
if(getRunningServerName().equals(event.getNonAdminAuthentication().getServerName())){
//store servername, address and session token in a sharedPref variable.
finishAuthentication();
Preferences.setNonAdminUserCredentials(event, this);
finishAuthentication(event);
}
else {
ViewDirector.of(NonAdminAuthenticationActivity.this, R.id.animator_message).show(R.id.text_message_server_not_authorised);
Expand All @@ -165,8 +172,14 @@ private String getRunningServerName() {
return getIntent().getStringExtra(Intents.Extras.SERVER_NAME);
}

private void finishAuthentication() {

private void finishAuthentication(NonAdminAuthSucceedEvent event) {
NonAdminAuthentication nonAdminAuthentication = event.getNonAdminAuthentication();
Server server = new Server(
nonAdminAuthentication.getServerName(),
nonAdminAuthentication.getSessionToken(),
nonAdminAuthentication.getServerAddress(),
true);
serverClient.connecttoNonadmin(server);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,11 @@ public void connect(Server server) {
startServerConnection();
}

public void connecttoNonadmin(Server server) {
this.server = server;
serverAddress = server.getServerAddress();
}

private void startServerConnection() {
proxyApi.getServerRoute(server.getSession()).enqueue(new ServerRouteResponse());
}
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/org/amahi/anywhere/server/model/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,16 @@ public class Server implements Parcelable
@SerializedName("active")
private boolean active;

@SerializedName("server_address")
private String serverAddress;

public Server(String name, String session, String serverAddress, boolean active) {
this.name = name;
this.session = session;
this.serverAddress = serverAddress;
this.active = active;
}

public String getName() {
return name;
}
Expand All @@ -50,6 +60,10 @@ public boolean isActive() {
return active;
}

public String getServerAddress() {
return serverAddress;
}

public static final Creator<Server> CREATOR = new Creator<Server>()
{
@Override
Expand All @@ -67,13 +81,15 @@ private Server(Parcel parcel) {
this.name = parcel.readString();
this.session = parcel.readString();
this.active = Boolean.valueOf(parcel.readString());
this.serverAddress = parcel.readString();
}

@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(name);
parcel.writeString(session);
parcel.writeString(String.valueOf(active));
parcel.writeString(serverAddress);
}

@Override
Expand Down
9 changes: 9 additions & 0 deletions src/main/java/org/amahi/anywhere/util/Preferences.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import android.preference.PreferenceManager;

import org.amahi.anywhere.R;
import org.amahi.anywhere.bus.NonAdminAuthSucceedEvent;
import org.amahi.anywhere.server.model.Server;

import static android.content.Context.MODE_PRIVATE;

Expand Down Expand Up @@ -86,6 +88,13 @@ public static void setFirstRun(Context context) {
context.getSharedPreferences(context.getString(R.string.preference), MODE_PRIVATE).edit().putBoolean(context.getString(R.string.is_first_run), false).apply();
}

//Note-@octacode: Preference variables for Non-admin users
public static void setNonAdminUserCredentials(NonAdminAuthSucceedEvent event, Context context) {
context.getSharedPreferences(context.getString(R.string.preference), MODE_PRIVATE).edit().putString("session_token", event.getNonAdminAuthentication().getSessionToken()).apply();
context.getSharedPreferences(context.getString(R.string.preference), MODE_PRIVATE).edit().putString("server_name", event.getNonAdminAuthentication().getServerName()).apply();
context.getSharedPreferences(context.getString(R.string.preference), MODE_PRIVATE).edit().putString("server_address", event.getNonAdminAuthentication().getServerAddress()).apply();
}

public static Preferences ofCookie(Context context) {
return new Preferences(context, Locations.COOKIE);
}
Expand Down

0 comments on commit 8ed028b

Please sign in to comment.