diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index 08dc549..0da66cb 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -14,8 +14,8 @@ diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index c667cfe..e999b3a 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/README.md b/README.md index 4a61607..508b5ef 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ If you don't have a Disroot account you can still use this app to access all th * Ethercalc * Private bin * Upload -* Poll +* Polls * Searx * Diaspora* (requires a Diaspora only account) diff --git a/app/build.gradle b/app/build.gradle index d23ef5e..498c97e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "org.disroot.disrootapp" minSdkVersion 15 targetSdkVersion 28 - versionCode 22 - versionName "1.2.3" + versionCode 23 + versionName "1.9.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { @@ -48,3 +48,7 @@ repositories { dependencies { implementation 'com.android.support.constraint:constraint-layout:1.1.3' } + +dependencies { + implementation 'com.android.support.constraint:constraint-layout:+' +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 51b8f20..5e9b1fc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,16 +13,17 @@ android:allowBackup="true" android:fullBackupContent="@xml/backup_descriptor" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_disroot" + android:icon="@drawable/ic_app_logo" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/DisTheme"> + - + @@ -45,7 +46,7 @@ android:name=".ui.MainActivity" android:configChanges="orientation|screenSize" android:hardwareAccelerated="true" - android:label="@string/app_name"> + android:label="@string/dashboard"> @@ -70,6 +71,10 @@ android:name=".ui.StateMessagesActivity" android:label="@string/title_activity_state" android:theme="@style/DisTheme" /> + chooserPathUri; Button button; - private Button MailBtn,CloudBtn,DiasporaBtn,ForumBtn,ChatBtn,PadBtn,CalcBtn,BinBtn,UploadBtn,SearxBtn,PollsBtn,BoardBtn,NotesBtn,UserBtn,StateBtn,HowToBtn,AboutBtn;//all buttons + private Button MailBtn,CloudBtn,ForumBtn,ChatBtn,PadBtn,CalcBtn,BinBtn,UploadBtn,SearxBtn,PollsBtn,BoardBtn,NotesBtn,UserBtn,StateBtn,HowToBtn,AboutBtn;//all buttons private CookieManager cookieManager; private WebView webView; private DisWebChromeClient disWebChromeClient; @@ -107,7 +108,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL private static final int REQUEST_ID_MULTIPLE_PERMISSIONS = 1;//file upload private static final int INPUT_FILE_REQUEST_CODE = 1;//file upload private static final int FILECHOOSER_RESULTCODE = 1;//file upload - private static final String TAG = MainActivity.class.getSimpleName(); + public static final String TAG = MainActivity.class.getSimpleName(); @Override public void onCreate(Bundle savedInstanceState) { @@ -120,6 +121,11 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL //settings firstStart = getSharedPreferences("org.disroot.disrootap", MODE_PRIVATE);//fisrt start check = getSharedPreferences("org.disroot.disrootapp", MODE_PRIVATE); + //buttons visiblility preference + BtnPreference = getSharedPreferences( "mailBtnVisibility", Context.MODE_PRIVATE );//mail + BtnPreference = getSharedPreferences( "cloudBtnVisibility", Context.MODE_PRIVATE );//cloud + BtnPreference = getSharedPreferences( "forumBtnVisibility", Context.MODE_PRIVATE );//forum + BtnPreference = getSharedPreferences( "chatBtnVisibility", Context.MODE_PRIVATE );//chat //Status service Intent intent = new Intent( MainActivity.this, StatusService.class); @@ -187,7 +193,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL // Link the button in activity_main.xml MailBtn = findViewById( R.id.MailBtn ); CloudBtn = findViewById( R.id.CloudBtn ); - DiasporaBtn = findViewById( R.id.DiasporaBtn ); + //DiasporaBtn = findViewById( R.id.DiasporaBtn );//end of Disroot's Dandelion ForumBtn = findViewById( R.id.ForumBtn ); ChatBtn = findViewById( R.id.ChatBtn ); PadBtn = findViewById( R.id.PadBtn ); @@ -203,10 +209,28 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL HowToBtn = findViewById( R.id.HowToBtn ); AboutBtn = findViewById( R.id.AboutBtn ); + //get preferences + if (BtnPreference.getBoolean( "mailBtnVisibility", true)==false){ + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + viewGroup.removeView(MailBtn); + } + if (BtnPreference.getBoolean( "cloudBtnVisibility", true)==false){ + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + viewGroup.removeView(CloudBtn); + } + if (BtnPreference.getBoolean( "forumBtnVisibility", true)==false){ + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + viewGroup.removeView(ForumBtn); + } + if (BtnPreference.getBoolean( "chatBtnVisibility", true)==false){ + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + viewGroup.removeView(ChatBtn); + } + //Set longclick buttons MailBtn.setOnLongClickListener( this ); CloudBtn.setOnLongClickListener( this ); - DiasporaBtn.setOnLongClickListener( this ); + //DiasporaBtn.setOnLongClickListener( this );//end of Disroot's Dandelion ForumBtn.setOnLongClickListener( this ); ChatBtn.setOnLongClickListener( this ); PadBtn.setOnLongClickListener( this ); @@ -225,7 +249,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL //set clickbuttons MailBtn.setOnClickListener( this ); CloudBtn.setOnClickListener( this ); - DiasporaBtn.setOnClickListener( this ); + //DiasporaBtn.setOnClickListener( this );//end of Disroot's Dandelion ForumBtn.setOnClickListener( this ); ChatBtn.setOnClickListener( this ); PadBtn.setOnClickListener( this ); @@ -275,14 +299,14 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL } else startActivity(cloud); break; - case R.id.DiasporaBtn: + /*case R.id.DiasporaBtn: //end ofDisroot's Dandelion Intent pod = getPackageManager().getLaunchIntentForPackage(Diaspora); if(getPackageManager().getLaunchIntentForPackage(Diaspora) == null) { showDiaDialog(); break; } else startActivity(pod); - break; + break;*/ case R.id.ForumBtn: webView.loadUrl(Constants.URL_DisApp_FORUM); hideDashboard(); @@ -332,8 +356,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL hideDashboard(); break; case R.id.UploadBtn: - //startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.URL_DisApp_UPLOAD))); - //workaround for crashing app webView.loadUrl(Constants.URL_DisApp_UPLOAD); hideDashboard(); break; @@ -388,9 +410,9 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL case R.id.CloudBtn: showCloudInfo(); break; - case R.id.DiasporaBtn: + /*case R.id.DiasporaBtn://end of Disroot's Dandelion showDiaInfo(); - break; + break;*/ case R.id.ForumBtn: showForumInfo(); break; @@ -448,7 +470,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL dashboard.setVisibility( View.GONE ); } - //Show xmpp choice + //Show chat choice private void showChoose() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle(R.string.ChooseChatTitle) @@ -548,6 +570,16 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL hideDashboard(); } }); + builder.setNeutralButton( R.string.remove , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + if (findViewById( R.id.MailBtn).getParent()!=null){ + viewGroup.removeView(MailBtn); + BtnPreference.edit().putBoolean( "mailBtnVisibility", false ).apply(); + return;} + } + }); builder.show(); } private void showMailDialog(){ @@ -581,6 +613,16 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL hideDashboard(); } }); + builder.setNeutralButton( R.string.remove , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + if (findViewById( R.id.CloudBtn).getParent()!=null){ + viewGroup.removeView(CloudBtn); + BtnPreference.edit().putBoolean( "cloudBtnVisibility", false ).apply(); + return;} + } + }); builder.show(); } private void showCloudDialog(){ @@ -600,6 +642,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL builder.show(); } + /*End of Disroot's Dandelion* //Diaspora info private void showDiaInfo() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); @@ -631,7 +674,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL }); builder.setNegativeButton(R.string.global_cancel , null); builder.show(); - } + }*/ private void showForumInfo() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); @@ -646,6 +689,16 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL hideDashboard(); } }); + builder.setNeutralButton( R.string.remove , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + if (findViewById( R.id.ForumBtn).getParent()!=null){ + viewGroup.removeView(ForumBtn); + BtnPreference.edit().putBoolean( "forumBtnVisibility", false ).apply(); + return;} + } + }); builder.show(); } @@ -674,7 +727,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL builder.setCancelable(false); builder.setTitle(R.string.ChatTitle); builder.setMessage(getString(R.string.ChatInfo)); - // ||check.getBoolean("checkPix", true)==true if(check.getBoolean("checkConv", true)|| check.getBoolean("checkPix",true)) { View view = View.inflate(this, R.layout.check_forget, null); final CheckBox forgetChat = (CheckBox) view.findViewById(R.id.forgetChat); @@ -695,6 +747,16 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL hideDashboard(); } }); + builder.setNeutralButton( R.string.remove , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent()); + if (findViewById( R.id.ChatBtn).getParent()!=null){ + viewGroup.removeView(ChatBtn); + BtnPreference.edit().putBoolean( "chatBtnVisibility", false ).apply(); + return;} + } + }); builder.show(); } private void showChatDialog(){ @@ -1100,8 +1162,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); - - // To show icons in the actionbar's overflow menu: // http://stackoverflow.com/questions/18374183/how-to-show-icons-in-overflow-menu-in-actionbar if(menu.getClass().getSimpleName().equals("MenuBuilder")) try { @@ -1164,6 +1224,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL Intent goAbout = new Intent(MainActivity.this, AboutActivity.class); MainActivity.this.startActivity(goAbout); return true; + case R.id.action_set_icons: + Intent goBtnSettings = new Intent(MainActivity.this, SettingsActivity.class); + MainActivity.this.startActivity(goBtnSettings); + return true; case R.id.action_clear_cookies: { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ CookieManager.getInstance().removeAllCookies(null); @@ -1198,6 +1262,9 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL webView.getSettings().setUseWideViewPort(true); webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); webView.getSettings().setAllowContentAccess(true); + webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); + webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); + webView.getSettings().setDatabaseEnabled(true); webView.setOnLongClickListener(this); //enable cookies @@ -1238,15 +1305,20 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL Log.e("Permission error","You have asked for permission"); ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); } - final String filename= URLUtil.guessFileName(url, contentDisposition, mimetype); - DownloadManager.Request request = new DownloadManager.Request( - Uri.parse(url)); - request.allowScanningByMediaScanner(); - request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); - request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename); - DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); - assert dm != null; - dm.enqueue(request); + if (Uri.parse( url ).toString().startsWith( "blob" )){ + webView.loadUrl(""); + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.URL_DisApp_UPLOAD))); + } else { + final String filename = URLUtil.guessFileName( url, contentDisposition, mimetype ); + DownloadManager.Request request = new DownloadManager.Request( + Uri.parse( url ) ); + request.allowScanningByMediaScanner(); + request.setNotificationVisibility( DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED ); + request.setDestinationInExternalPublicDir( Environment.DIRECTORY_DOWNLOADS, filename ); + DownloadManager dm = (DownloadManager) getSystemService( DOWNLOAD_SERVICE ); + assert dm != null; + dm.enqueue( request ); + } } }); @@ -1273,7 +1345,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { - if(url.startsWith("https")|url.startsWith("http")&&url.contains("disroot")) {//&!url.contains("upload.disroot.org") + if(url.startsWith("http")&&url.contains("disroot")&&!Uri.parse( url ).toString().startsWith( "blob" )) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } diff --git a/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java new file mode 100644 index 0000000..8edafdb --- /dev/null +++ b/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java @@ -0,0 +1,135 @@ +package org.disroot.disrootapp.ui; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.CheckBox; +import android.widget.CompoundButton; + +import org.disroot.disrootapp.R; + +public class SettingsActivity extends AppCompatActivity { + SharedPreferences BtnPreference; + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate( R.menu.menu_about, menu ); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + + if (id == R.id.action_home) { + Intent goHome = new Intent( SettingsActivity.this, MainActivity.class ); + SettingsActivity.this.startActivity( goHome ); + return true; + } + + return super.onOptionsItemSelected( item ); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate( savedInstanceState ); + setContentView( R.layout.activity_settings ); + + Toolbar toolbar = findViewById( R.id.toolbar ); + setSupportActionBar( toolbar ); + toolbar.setNavigationIcon( R.drawable.ic_arrow_back ); + toolbar.setNavigationOnClickListener( new View.OnClickListener() { + @Override + public void onClick(View v) { + onBackPressed(); + } + } ); + + ////buttons visiblility preference list + BtnPreference = getSharedPreferences( "mailBtnVisibility", Context.MODE_PRIVATE );//mail + BtnPreference = getSharedPreferences( "cloudBtnVisibility", Context.MODE_PRIVATE );//cloud + BtnPreference = getSharedPreferences( "forumBtnVisibility", Context.MODE_PRIVATE );//forum + BtnPreference = getSharedPreferences( "chatBtnVisibility", Context.MODE_PRIVATE );//chat + + //checkboxlist + checkPrefBox(); + } + + //Visibility preference functions + public void checkPrefBox() { + //define checkBoxes + View iconSettings =findViewById( R.id.iconSettings ); + final CheckBox checkMailBtn = iconSettings.findViewById( R.id.mailBtnPreference );//mail + final CheckBox checkCloudBtn = iconSettings.findViewById( R.id.cloudBtnPreference );//cloud + final CheckBox checkForumBtn = iconSettings.findViewById( R.id.foumBtnPreference );//forum + final CheckBox checkChatBtn = iconSettings.findViewById( R.id.chatBtnPreference );//chat + + //Set checked if visibility is true + if (BtnPreference.getBoolean( "mailBtnVisibility", true )) checkMailBtn.setChecked( true );//mail + if (BtnPreference.getBoolean( "cloudBtnVisibility", true )) checkCloudBtn.setChecked( true );//cloud + if (BtnPreference.getBoolean( "forumBtnVisibility", true )) checkForumBtn.setChecked( true );//forum + if (BtnPreference.getBoolean( "chatBtnVisibility", true )) checkChatBtn.setChecked( true );//chat + + //Mail + checkMailBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton view, boolean isChecked) { + if (checkMailBtn.isChecked()) { + BtnPreference.edit().putBoolean( "mailBtnVisibility", true ).apply(); + } else { + BtnPreference.edit().putBoolean( "mailBtnVisibility", false ).apply(); + } + } + } ); + + //Cloud + checkCloudBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton view, boolean isChecked) { + if (checkCloudBtn.isChecked()) { + BtnPreference.edit().putBoolean( "cloudBtnVisibility", true ).apply(); + } else { + BtnPreference.edit().putBoolean( "cloudBtnVisibility", false ).apply(); + } + } + } ); + + //forum + checkForumBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton view, boolean isChecked) { + if (checkForumBtn.isChecked()) { + BtnPreference.edit().putBoolean( "forumBtnVisibility", true ).apply(); + } else { + BtnPreference.edit().putBoolean( "forumBtnVisibility", false ).apply(); + } + } + } ); + + //chat + checkChatBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton view, boolean isChecked) { + if (checkChatBtn.isChecked()) { + BtnPreference.edit().putBoolean( "chatBtnVisibility", true ).apply(); + } else { + BtnPreference.edit().putBoolean( "chatBtnVisibility", false ).apply(); + } + } + } ); + + + } + + @Override + public void onBackPressed() { + Intent goHome = new Intent( SettingsActivity.this, MainActivity.class ); + SettingsActivity.this.startActivity( goHome ); + } +} diff --git a/app/src/main/res/drawable/ic_app_logo.xml b/app/src/main/res/drawable/ic_app_logo.xml new file mode 100644 index 0000000..288f26d --- /dev/null +++ b/app/src/main/res/drawable/ic_app_logo.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/drawable/ic_chat.xml b/app/src/main/res/drawable/ic_chat.xml index 5641731..5b9be20 100644 --- a/app/src/main/res/drawable/ic_chat.xml +++ b/app/src/main/res/drawable/ic_chat.xml @@ -1,5 +1,30 @@ - - + + + + + + + diff --git a/app/src/main/res/drawable/ic_cloud.xml b/app/src/main/res/drawable/ic_cloud.xml index 0790f3f..fd63060 100644 --- a/app/src/main/res/drawable/ic_cloud.xml +++ b/app/src/main/res/drawable/ic_cloud.xml @@ -1,5 +1,16 @@ - - + + diff --git a/app/src/main/res/drawable/ic_forum.xml b/app/src/main/res/drawable/ic_forum.xml index 7e9c2e7..0aae38e 100644 --- a/app/src/main/res/drawable/ic_forum.xml +++ b/app/src/main/res/drawable/ic_forum.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml index c225228..7a5e970 100644 --- a/app/src/main/res/drawable/ic_home.xml +++ b/app/src/main/res/drawable/ic_home.xml @@ -1,15 +1,15 @@ + android:width="48dp" + android:height="48dp" + android:viewportWidth="12.7" + android:viewportHeight="12.7"> diff --git a/app/src/main/res/drawable/ic_logo.xml b/app/src/main/res/drawable/ic_logo.xml new file mode 100644 index 0000000..20e71ca --- /dev/null +++ b/app/src/main/res/drawable/ic_logo.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_logodisroot.xml b/app/src/main/res/drawable/ic_logodisroot.xml new file mode 100644 index 0000000..0b2fc19 --- /dev/null +++ b/app/src/main/res/drawable/ic_logodisroot.xml @@ -0,0 +1,21 @@ + + + + diff --git a/app/src/main/res/drawable/ic_mail.xml b/app/src/main/res/drawable/ic_mail.xml index f30104d..17b2c0a 100644 --- a/app/src/main/res/drawable/ic_mail.xml +++ b/app/src/main/res/drawable/ic_mail.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png deleted file mode 100644 index 57c3e53..0000000 Binary files a/app/src/main/res/drawable/logo.png and /dev/null differ diff --git a/app/src/main/res/drawable/logodisroot.png b/app/src/main/res/drawable/logodisroot.png deleted file mode 100644 index adcdde0..0000000 Binary files a/app/src/main/res/drawable/logodisroot.png and /dev/null differ diff --git a/app/src/main/res/font/open_sans_regular.ttf b/app/src/main/res/font/open_sans_regular.ttf new file mode 100644 index 0000000..db43334 Binary files /dev/null and b/app/src/main/res/font/open_sans_regular.ttf differ diff --git a/app/src/main/res/layout-v21/item_toolbar.xml b/app/src/main/res/layout-v21/item_toolbar.xml new file mode 100644 index 0000000..f3bb3de --- /dev/null +++ b/app/src/main/res/layout-v21/item_toolbar.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 052c4af..39aca15 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -12,6 +12,7 @@ android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/bg_primary_blue" android:paddingTop="@dimen/appbar_padding_top" android:theme="@style/DisTheme.AppBarOverlay"> @@ -20,10 +21,9 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_weight="1" - android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/DisTheme.PopupOverlay" - app:title="@string/app_name"> + app:title="@string/action_about"> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5e8bbe5..3b9095b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical"> @@ -35,196 +36,194 @@ - + android:visibility="visible"> - + android:orientation="vertical" + android:layout_gravity="top|center_horizontal"> - + + + +