Skip to content
Snippets Groups Projects
Commit 6ac999c1 authored by Ernir Erlingsson's avatar Ernir Erlingsson
Browse files

Added AppCompatBar and fixed dependencies

parent 878a7062
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<application <application
android:name=".android.BriarApplication" android:name=".android.BriarApplication"
android:theme="@style/LightTheme" android:theme="@style/BriarTheme"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:allowBackup="false" > android:allowBackup="false" >
......
...@@ -6,6 +6,7 @@ dependencies { ...@@ -6,6 +6,7 @@ dependencies {
compile fileTree(dir: '../briar-core/libs', include: '*.jar') compile fileTree(dir: '../briar-core/libs', include: '*.jar')
compile project(':briar-core') compile project(':briar-core')
compile fileTree(dir: 'libs', include: '*.jar') compile fileTree(dir: 'libs', include: '*.jar')
compile "com.android.support:appcompat-v7:23.1.1"
} }
android { android {
......
File deleted
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="LightTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/CustomActionBar</item>
<item name="android:windowBackground">@color/window_background</item>
</style>
<style name="CustomActionBar"
parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:textColor">@color/action_bar_text</item>
<item name="android:background">@color/action_bar_background</item>
</style>
<style name="BriarButton.Default"> <style name="BriarButton.Default">
<item name="android:textAllCaps">true</item> <item name="android:textAllCaps">true</item>
</style> </style>
......
...@@ -15,5 +15,8 @@ ...@@ -15,5 +15,8 @@
<color name="settings_title_text">#2D3E50</color> <color name="settings_title_text">#2D3E50</color>
<color name="settings_title_underline">#2D3E50</color> <color name="settings_title_underline">#2D3E50</color>
<color name="text_link">#2D3E50</color> <color name="briar_text_link">#2D3E50</color>
<color name="briar_green_light">#95d220</color>
<color name="briar_green_dark">#75ab0d</color>
<color name="briar_text_primary">#333333</color>
</resources> </resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="LightTheme" parent="android:Theme.Light">
<item name="android:windowTitleStyle">@style/WindowTitle</item> <style name="BriarTheme" parent="Theme.AppCompat.Light">
<item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> <item name="actionBarStyle">@style/BriarActionBar</item>
<item name="android:windowBackground">@color/window_background</item> <item name="colorPrimary">@color/briar_green_light</item>
<item name="colorPrimaryDark">@color/briar_green_dark</item>
<item name="android:textColorPrimary">@color/briar_text_primary</item>
<item name="android:textColorLink">@color/briar_text_link</item>
<!-- The rest of your attributes -->
</style> </style>
<style name="BriarActionBar" parent="Base.Widget.AppCompat.Light.ActionBar.Solid">
<item name="elevation">1dp</item>
</style>
<style name="WindowTitle"> <style name="WindowTitle">
<item name="android:paddingLeft">5dp</item> <item name="android:paddingLeft">5dp</item>
<item name="android:textColor">@color/action_bar_text</item> <item name="android:textColor">@color/action_bar_text</item>
......
package org.briarproject.android; package org.briarproject.android;
import static android.view.inputmethod.InputMethodManager.HIDE_IMPLICIT_ONLY;
import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS;
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import roboguice.activity.RoboActivity; import com.google.inject.Inject;
import com.google.inject.Key;
import java.util.HashMap;
import java.util.Map;
import roboguice.RoboGuice;
import roboguice.activity.event.OnActivityResultEvent;
import roboguice.activity.event.OnConfigurationChangedEvent;
import roboguice.activity.event.OnContentChangedEvent;
import roboguice.activity.event.OnCreateEvent;
import roboguice.activity.event.OnDestroyEvent;
import roboguice.activity.event.OnNewIntentEvent;
import roboguice.activity.event.OnPauseEvent;
import roboguice.activity.event.OnRestartEvent;
import roboguice.activity.event.OnResumeEvent;
import roboguice.activity.event.OnStartEvent;
import roboguice.activity.event.OnStopEvent;
import roboguice.event.EventManager;
import roboguice.inject.ContentViewListener;
import roboguice.inject.RoboInjector;
import roboguice.util.RoboContext;
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
import static android.view.inputmethod.InputMethodManager.HIDE_IMPLICIT_ONLY;
import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS;
public abstract class BaseActivity extends RoboActivity { public abstract class BaseActivity extends AppCompatActivity implements RoboContext {
private final static String PREFS_DB = "db"; private final static String PREFS_DB = "db";
private final static String KEY_DB_KEY = "key"; private final static String KEY_DB_KEY = "key";
protected EventManager eventManager;
protected HashMap<Key<?>, Object> scopedObjects = new HashMap();
@Inject
ContentViewListener ignored;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
RoboInjector injector = RoboGuice.getInjector(this);
this.eventManager = (EventManager) injector.getInstance(EventManager.class);
injector.injectMembersWithoutViews(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
this.eventManager.fire(new OnCreateEvent(savedInstanceState));
if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE); if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE);
} }
protected void onRestart() {
super.onRestart();
this.eventManager.fire(new OnRestartEvent());
}
protected void onStart() {
super.onStart();
this.eventManager.fire(new OnStartEvent());
}
protected void onResume() {
super.onResume();
this.eventManager.fire(new OnResumeEvent());
}
protected void onPause() {
super.onPause();
this.eventManager.fire(new OnPauseEvent());
}
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
this.eventManager.fire(new OnNewIntentEvent());
}
protected void onStop() {
try {
this.eventManager.fire(new OnStopEvent());
} finally {
super.onStop();
}
}
protected void onDestroy() {
try {
this.eventManager.fire(new OnDestroyEvent());
} finally {
try {
RoboGuice.destroyInjector(this);
} finally {
super.onDestroy();
}
}
}
public void onConfigurationChanged(Configuration newConfig) {
Configuration currentConfig = this.getResources().getConfiguration();
super.onConfigurationChanged(newConfig);
this.eventManager.fire(new OnConfigurationChangedEvent(currentConfig, newConfig));
}
public void onContentChanged() {
super.onContentChanged();
RoboGuice.getInjector(this).injectViewMembers(this);
this.eventManager.fire(new OnContentChangedEvent());
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
this.eventManager.fire(new OnActivityResultEvent(requestCode, resultCode, data));
}
@Override
public Map<Key<?>, Object> getScopedObjectMap() {
return this.scopedObjects;
}
private SharedPreferences getBriarPrefs(String prefsName) { private SharedPreferences getBriarPrefs(String prefsName) {
return getSharedPreferences(prefsName, MODE_PRIVATE); return getSharedPreferences(prefsName, MODE_PRIVATE);
} }
......
package org.briarproject.android; package org.briarproject.android;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import org.briarproject.R;
import org.briarproject.android.util.LayoutUtils;
import org.briarproject.android.util.StrengthMeter;
import org.briarproject.api.AuthorFactory;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.ReferenceManager;
import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.crypto.CryptoExecutor;
import org.briarproject.api.crypto.KeyPair;
import org.briarproject.api.crypto.PasswordStrengthEstimator;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.db.DatabaseConfig;
import org.briarproject.util.StringUtils;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
import javax.inject.Inject;
import roboguice.activity.RoboActivity;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.text.InputType.TYPE_CLASS_TEXT; import static android.text.InputType.TYPE_CLASS_TEXT;
import static android.text.InputType.TYPE_TEXT_FLAG_CAP_WORDS; import static android.text.InputType.TYPE_TEXT_FLAG_CAP_WORDS;
...@@ -56,7 +19,43 @@ import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP; ...@@ -56,7 +19,43 @@ import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP;
import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
import static org.briarproject.api.crypto.PasswordStrengthEstimator.WEAK; import static org.briarproject.api.crypto.PasswordStrengthEstimator.WEAK;
public class SetupActivity extends RoboActivity implements OnClickListener, import java.util.concurrent.Executor;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.briarproject.R;
import org.briarproject.android.util.LayoutUtils;
import org.briarproject.android.util.StrengthMeter;
import org.briarproject.api.AuthorFactory;
import org.briarproject.api.LocalAuthor;
import org.briarproject.api.android.ReferenceManager;
import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.crypto.CryptoExecutor;
import org.briarproject.api.crypto.KeyPair;
import org.briarproject.api.crypto.PasswordStrengthEstimator;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.db.DatabaseConfig;
import org.briarproject.util.StringUtils;
import roboguice.activity.RoboActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public class SetupActivity extends BaseActivity implements OnClickListener,
OnEditorActionListener { OnEditorActionListener {
private static final Logger LOG = private static final Logger LOG =
......
...@@ -11,7 +11,7 @@ import roboguice.activity.RoboActivity; ...@@ -11,7 +11,7 @@ import roboguice.activity.RoboActivity;
import static org.briarproject.api.lifecycle.LifecycleManager.StartResult; import static org.briarproject.api.lifecycle.LifecycleManager.StartResult;
public class StartupFailureActivity extends RoboActivity { public class StartupFailureActivity extends BaseActivity {
@Override @Override
public void onCreate(Bundle state) { public void onCreate(Bundle state) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment