diff options
Diffstat (limited to 'app/src')
4 files changed, 90 insertions, 50 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java index 220a71c8..13ef9b80 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java @@ -28,7 +28,8 @@ public class ProviderManager implements AdapteeCollection<Provider> { if (instance == null) instance = new ProviderManager(assets_manager); - instance.addCustomProviders(external_files_dir); + if(external_files_dir != null) + instance.addCustomProviders(external_files_dir); return instance; } @@ -120,7 +121,8 @@ public class ProviderManager implements AdapteeCollection<Provider> { public Set<Provider> providers() { Set<Provider> all_providers = new HashSet<Provider>(); all_providers.addAll(default_providers); - all_providers.addAll(custom_providers); + if(custom_providers != null) + all_providers.addAll(custom_providers); return all_providers; } @@ -140,25 +142,27 @@ public class ProviderManager implements AdapteeCollection<Provider> { } @Override - public void add(Provider element) { + public boolean add(Provider element) { if (!default_providers.contains(element)) - custom_providers.add(element); + return custom_providers.add(element); + else return true; } @Override - public void remove(Provider element) { - custom_providers.remove(element); + public boolean remove(Object element) { + return custom_providers.remove(element); } @Override - public void addAll(Collection<Provider> elements) { - custom_providers.addAll(elements); + public boolean addAll(Collection<? extends Provider> elements) { + return custom_providers.addAll(elements); } @Override - public void removeAll(Collection<Provider> elements) { - custom_providers.removeAll(elements); - default_providers.removeAll(elements); + public boolean removeAll(Collection<?> elements) { + if(!elements.getClass().equals(Provider.class)) + return false; + return default_providers.removeAll(elements) || custom_providers.removeAll(elements); } @Override diff --git a/app/src/main/java/se/leap/bitmaskclient/userstatus/FabButton.java b/app/src/main/java/se/leap/bitmaskclient/userstatus/FabButton.java new file mode 100644 index 00000000..1bf1847c --- /dev/null +++ b/app/src/main/java/se/leap/bitmaskclient/userstatus/FabButton.java @@ -0,0 +1,34 @@ +package se.leap.bitmaskclient.userstatus; + + +import android.content.Context; +import android.util.AttributeSet; + +import mbanje.kurt.fabbutton.CircleImageView; +import se.leap.bitmaskclient.R; + +public class FabButton extends mbanje.kurt.fabbutton.FabButton { + + + public FabButton(Context context) { + super(context); + } + + public FabButton(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public FabButton(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected void init(Context context, AttributeSet attrs, int defStyle) { + super.init(context, attrs, defStyle); + super.init(context, attrs, defStyle); + } + + private CircleImageView getImage() { + return (CircleImageView) findViewById(R.id.fabbutton_circle); + } +} diff --git a/app/src/main/java/se/leap/bitmaskclient/userstatus/UserStatusFragment.java b/app/src/main/java/se/leap/bitmaskclient/userstatus/UserStatusFragment.java index ed822116..f670553f 100644 --- a/app/src/main/java/se/leap/bitmaskclient/userstatus/UserStatusFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/userstatus/UserStatusFragment.java @@ -1,17 +1,29 @@ package se.leap.bitmaskclient.userstatus; -import android.app.*; -import android.os.*; -import android.view.*; -import android.widget.*; +import android.app.Activity; +import android.app.Fragment; +import android.os.Bundle; +import android.os.Handler; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; import org.jetbrains.annotations.NotNull; -import java.util.*; - -import butterknife.*; -import mbanje.kurt.fabbutton.FabButton; -import se.leap.bitmaskclient.*; +import java.util.Observable; +import java.util.Observer; + +import butterknife.ButterKnife; +import butterknife.InjectView; +import butterknife.OnClick; +import se.leap.bitmaskclient.Dashboard; +import se.leap.bitmaskclient.Provider; +import se.leap.bitmaskclient.ProviderAPI; +import se.leap.bitmaskclient.ProviderAPICommand; +import se.leap.bitmaskclient.ProviderAPIResultReceiver; +import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.eip.EipStatus; public class UserStatusFragment extends Fragment implements Observer, SessionDialog.SessionDialogInterface { @@ -53,8 +65,6 @@ public class UserStatusFragment extends Fragment implements Observer, SessionDia View view = inflater.inflate(R.layout.user_session_fragment, container, false); ButterKnife.inject(this, view); - icon.setIcon(R.drawable.ic_account_circle, R.drawable.ic_account_circle); - Bundle arguments = getArguments(); allows_registration = arguments.getBoolean(Provider.ALLOW_REGISTRATION); handleNewStatus(status); diff --git a/app/src/main/res/layout/user_session_fragment.xml b/app/src/main/res/layout/user_session_fragment.xml index 18eda6d9..30068381 100644 --- a/app/src/main/res/layout/user_session_fragment.xml +++ b/app/src/main/res/layout/user_session_fragment.xml @@ -12,40 +12,32 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" - android:layout_marginRight="20dp" + android:layout_marginRight="15dp" android:layout_marginEnd="20dp" android:textSize="20sp" android:text="@string/default_username" android:textAppearance="?android:attr/textAppearanceMedium"/> - <LinearLayout - android:id="@+id/user.status.buttonAndIcon" + <Button + android:id="@+id/user.status.button" android:layout_width="wrap_content" - android:layout_height="wrap_content"> - - <Button - android:id="@+id/user.status.button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="14sp" - /> + android:layout_height="wrap_content" + android:textSize="14sp" + /> - <view - android:id="@+id/user.status.icon" - android:layout_width="32dp" - android:layout_marginLeft="9dp" - android:layout_marginStart="9dp" - android:src="@drawable/ic_account_circle" - android:color="@android:color/transparent" - class="mbanje.kurt.fabbutton.FabButton" - android:layout_gravity="center" - android:visibility="visible" - android:indeterminate="true" - android:max="100" - fbb_autoStart="true" - fbb_progressColor="#ff170aff" - fbb_progressWidthRatio="0.1" - /> + <view + android:id="@+id/user.status.icon" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_marginLeft="9dp" + android:layout_marginStart="9dp" + android:shadowRadius="0" + android:src="@drawable/ic_account_circle" + android:color="@android:color/transparent" + class="se.leap.bitmaskclient.userstatus.FabButton" + android:indeterminate="true" + fbb_progressColor="@android:color/holo_blue_dark" + fbb_progressWidthRatio="0.1" + /> - </LinearLayout> </LinearLayout> |