quargljhh

This commit is contained in:
Mike Schwörer 2018-09-23 16:23:49 +02:00
parent a4cc8752ff
commit 63633de256
Signed by: Mikescher
GPG Key ID: D3C7172E0A70F8CF
26 changed files with 956 additions and 52 deletions

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WizardSettings">
<option name="children">
<map>
<entry key="vectorWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="vectorAssetStep">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="assetSourceType" value="FILE" />
<entry key="outputName" value="ic_bfb" />
<entry key="sourceFile" value="F:\Eigene Dateien\Dropbox\Work\BlackForestBytes\Daten\Images\Logo (BFB)\blackforestbytes_logo.svg" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@ -4,7 +4,7 @@ android {
compileSdkVersion 27 compileSdkVersion 27
defaultConfig { defaultConfig {
applicationId "com.blackforestbytes.simplecloudnotifier" applicationId "com.blackforestbytes.simplecloudnotifier"
minSdkVersion 15 minSdkVersion 21
targetSdkVersion 27 targetSdkVersion 27
versionCode 2 versionCode 2
versionName "0.2" versionName "0.2"
@ -24,9 +24,11 @@ dependencies {
implementation 'com.android.support:cardview-v7:27.1.1' implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-core:16.0.3' implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.google.firebase:firebase-messaging:17.3.2' implementation 'com.google.firebase:firebase-messaging:17.3.2'
implementation 'com.android.support:support-v4:27.1.1'
} }
apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.gms.google-services'

View File

@ -10,7 +10,7 @@
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".MainActivity"> <activity android:name=".view.MainActivity">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
@ -20,7 +20,7 @@
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/icon" /> <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/icon" />
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" /> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" />
<service android:name=".FBMService"> <service android:name=".service.FBMService">
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" /> <action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter> </intent-filter>

View File

@ -1,35 +0,0 @@
package com.blackforestbytes.simplecloudnotifier;
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.View;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView rvMessages = findViewById(R.id.rvMessages);
rvMessages.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, true));
rvMessages.setAdapter(new MessageAdapter());
SCNApp.register(this);
}
@Override
protected void onStop()
{
super.onStop();
CMessageList.inst().fullSave();
}
}

View File

@ -4,6 +4,8 @@ import android.app.Application;
import android.content.Context; import android.content.Context;
import android.widget.Toast; import android.widget.Toast;
import com.blackforestbytes.simplecloudnotifier.view.MainActivity;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
public class SCNApp extends Application public class SCNApp extends Application

View File

@ -1,4 +1,4 @@
package com.blackforestbytes.simplecloudnotifier; package com.blackforestbytes.simplecloudnotifier.model;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;

View File

@ -1,9 +1,11 @@
package com.blackforestbytes.simplecloudnotifier; package com.blackforestbytes.simplecloudnotifier.model;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import com.blackforestbytes.simplecloudnotifier.view.MessageAdapter;
import com.blackforestbytes.simplecloudnotifier.SCNApp;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -1,8 +1,10 @@
package com.blackforestbytes.simplecloudnotifier; package com.blackforestbytes.simplecloudnotifier.service;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.blackforestbytes.simplecloudnotifier.SCNApp;
import com.blackforestbytes.simplecloudnotifier.model.CMessageList;
import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage; import com.google.firebase.messaging.RemoteMessage;

View File

@ -0,0 +1,25 @@
package com.blackforestbytes.simplecloudnotifier.view;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.blackforestbytes.simplecloudnotifier.R;
public class AccountFragment extends Fragment
{
public AccountFragment()
{
// Required empty public constructor
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.inflate(R.layout.fragment_account, container, false);
}
}

View File

@ -0,0 +1,48 @@
package com.blackforestbytes.simplecloudnotifier.view;
import android.support.design.widget.TabLayout;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import com.blackforestbytes.simplecloudnotifier.R;
import com.blackforestbytes.simplecloudnotifier.SCNApp;
import com.blackforestbytes.simplecloudnotifier.model.CMessageList;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TabLayout tabLayout = findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("Notifications"));
tabLayout.addTab(tabLayout.newTab().setText("Account"));
tabLayout.addTab(tabLayout.newTab().setText("Settings"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = findViewById(R.id.pager);
final PagerAdapter adapter = new TabAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
SCNApp.register(this);
}
@Override
protected void onStop()
{
super.onStop();
CMessageList.inst().fullSave();
}
}

View File

@ -1,4 +1,4 @@
package com.blackforestbytes.simplecloudnotifier; package com.blackforestbytes.simplecloudnotifier.view;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
@ -8,6 +8,11 @@ import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.blackforestbytes.simplecloudnotifier.R;
import com.blackforestbytes.simplecloudnotifier.SCNApp;
import com.blackforestbytes.simplecloudnotifier.model.CMessage;
import com.blackforestbytes.simplecloudnotifier.model.CMessageList;
public class MessageAdapter extends RecyclerView.Adapter public class MessageAdapter extends RecyclerView.Adapter
{ {
public MessageAdapter() public MessageAdapter()

View File

@ -0,0 +1,34 @@
package com.blackforestbytes.simplecloudnotifier.view;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.blackforestbytes.simplecloudnotifier.R;
public class NotificationsFragment extends Fragment
{
public NotificationsFragment()
{
// Required empty public constructor
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.fragment_notifications, container, false);
RecyclerView rvMessages = v.findViewById(R.id.rvMessages);
rvMessages.setLayoutManager(new LinearLayoutManager(this.getContext(), RecyclerView.VERTICAL, true));
rvMessages.setAdapter(new MessageAdapter());
return v;
}
}

View File

@ -0,0 +1,30 @@
package com.blackforestbytes.simplecloudnotifier.view;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.blackforestbytes.simplecloudnotifier.R;
/**
* A simple {@link Fragment} subclass.
*/
public class SettingsFragment extends Fragment {
public SettingsFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_settings, container, false);
}
}

View File

@ -0,0 +1,33 @@
package com.blackforestbytes.simplecloudnotifier.view;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
public class TabAdapter extends FragmentStatePagerAdapter {
public TabAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new NotificationsFragment();
case 1:
return new AccountFragment();
case 2:
return new SettingsFragment();
default:
return null;
}
}
@Override
public int getCount() {
return 3;
}
}

View File

@ -0,0 +1,15 @@
<vector android:height="24dp" android:viewportHeight="1000"
android:viewportWidth="1000" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000"
android:pathData="M500,500m-500,0a500,500 0,1 1,1000 0a500,500 0,1 1,-1000 0"
android:strokeColor="#000000" android:strokeWidth="1"/>
<path android:fillColor="#ffffff" android:pathData="M300,694L700,694L500,136L300,694"/>
<path android:fillColor="#ffffff" android:pathData="M473,559L527,559L527,774L473,774"/>
<path android:fillColor="#000000" android:pathData="M376,640L624,640L500,295L376,640"/>
<path android:fillColor="#ffffff" android:pathData="M100,730L500,730L300,172L100,730"/>
<path android:fillColor="#000000" android:pathData="M176,676L424,676L300,331L176,676"/>
<path android:fillColor="#ffffff" android:pathData="M273,595L327,595L327,810L273,810"/>
<path android:fillColor="#ffffff" android:pathData="M500,730L900,730L700,172L500,730"/>
<path android:fillColor="#000000" android:pathData="M576,676L824,676L700,331L576,676"/>
<path android:fillColor="#ffffff" android:pathData="M673,595L727,595L727,810L673,810"/>
</vector>

View File

@ -0,0 +1,6 @@
<vector android:height="24dp" android:viewportHeight="22"
android:viewportWidth="21" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:fillType="evenOdd"
android:pathData="M14.5,0L2.5,0C1.4,0 0.5,0.9 0.5,2L0.5,16L2.5,16L2.5,2L14.5,2L14.5,0L14.5,0ZM17.5,4L6.5,4C5.4,4 4.5,4.9 4.5,6L4.5,20C4.5,21.1 5.4,22 6.5,22L17.5,22C18.6,22 19.5,21.1 19.5,20L19.5,6C19.5,4.9 18.6,4 17.5,4L17.5,4ZM17.5,20L6.5,20L6.5,6L17.5,6L17.5,20L17.5,20Z"
android:strokeColor="#00000000" android:strokeWidth="1"/>
</vector>

View File

@ -0,0 +1,7 @@
<vector android:height="24dp" android:viewportHeight="100"
android:viewportWidth="100" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#000000"
android:fillType="nonZero"
android:pathData="m22.917,12.5c-2.308,0 -4.167,1.858 -4.167,4.167l0,66.667c0,2.083 2.083,4.167 4.167,4.167l37.5,0c2.083,0 4.167,-2.083 4.167,-4.167l0,-20.833 2.083,0c2.083,0 2.083,2.083 2.083,2.083l0,8.333c0,4.167 2.083,6.25 6.25,6.25 4.167,0 6.25,-2.083 6.25,-6.25 0,-4.861 0,-18.75 0,-22.917 0,-4.167 -8.333,-8.333 -8.333,-12.5l0,-12.5 -4.167,0 -4.167,-4.167 0,-4.167c0,-2.308 -1.858,-4.167 -4.167,-4.167zM27.083,20.833 L56.25,20.833 56.25,37.5 27.083,37.5zM64.583,33.333 L68.75,33.333c0,0 0,3.472 0,6.25 0,4.167 8.333,8.333 8.333,12.5l0,20.833C77.083,75 75,75 75,75c0,0 -2.083,0 -2.083,-2.083 0,0 0,-8.333 0,-10.417 0,-2.083 -2.083,-4.167 -4.167,-4.167 -1.389,0 -4.167,0 -4.167,0z"
android:strokeColor="#00000000" android:strokeWidth="2"/>
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="48"
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M25.3,20c-1.65,-4.66 -6.08,-8 -11.3,-8 -6.63,0 -12,5.37 -12,12s5.37,12 12,12c5.22,0 9.65,-3.34 11.3,-8h8.7v8h8v-8h4v-8h-20.7zM14,28c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4 4,1.79 4,4 -1.79,4 -4,4z"/>
</vector>

View File

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M7,8a5,6 0,1 0,10 0a5,6 0,1 0,-10 0z"/>
<path
android:fillColor="#FF000000"
android:pathData="M21.8,19.1c-0.9,-1.8 -2.6,-3.3 -4.8,-4.2c-0.6,-0.2 -1.3,-0.2 -1.8,0.1c-1,0.6 -2,0.9 -3.2,0.9s-2.2,-0.3 -3.2,-0.9C8.3,14.8 7.6,14.7 7,15c-2.2,0.9 -3.9,2.4 -4.8,4.2C1.5,20.5 2.6,22 4.1,22h15.8C21.4,22 22.5,20.5 21.8,19.1z"/>
</vector>

View File

@ -0,0 +1,422 @@
<vector
android:width="256dp" android:height="256dp"
android:viewportWidth="296" android:viewportHeight="296"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M32,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M32,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M40,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M48,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M56,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M64,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M72,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M80,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M88,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M96,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M104,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M112,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M120,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M128,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M136,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M144,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M152,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M160,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M168,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M176,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M184,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,88h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M192,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M200,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,184h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M208,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M216,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,112h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,216h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M224,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,96h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,120h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,200h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M232,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,144h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,160h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,208h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,248h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M240,256h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,104h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M248,240h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,32h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,40h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,48h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,56h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,64h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,72h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,80h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,128h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,136h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,152h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,168h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,176h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,192h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,224h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,232h8v8h-8z"/>
<path android:fillColor="#000000" android:pathData="M256,248h8v8h-8z"/>
</vector>

View File

@ -5,11 +5,30 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:showIn="@layout/activity_main"> tools:showIn="@layout/activity_main">
<android.support.v7.widget.RecyclerView <android.support.v7.widget.Toolbar
android:id="@+id/rvMessages" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clipToPadding="false" android:layout_alignParentTop="true"
android:scrollbars="vertical" /> android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_below="@id/tab_layout"/>
</RelativeLayout> </RelativeLayout>

View File

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".view.AccountFragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ic_img_user"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="92dp"
android:contentDescription="@string/ic_img_user_desc"
android:src="@drawable/ic_user"
android:tint="#888"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/lblUserID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:text="@string/str_userid"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ic_img_user"
app:layout_constraintTop_toTopOf="@+id/ic_img_user" />
<HorizontalScrollView
android:id="@+id/svUserID"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toStartOf="@+id/btnCopyUserID"
app:layout_constraintStart_toEndOf="@+id/ic_img_user"
app:layout_constraintTop_toBottomOf="@+id/lblUserID">
<TextView
android:id="@+id/tvUserID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" />
</HorizontalScrollView>
<ImageButton
android:id="@+id/btnCopyUserID"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginEnd="8dp"
android:background="@null"
android:padding="2dp"
android:scaleType="fitXY"
android:src="?android:attr/actionModeCopyDrawable"
app:layout_constraintBottom_toBottomOf="@+id/svUserID"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/svUserID"
android:contentDescription="@string/str_copy" />
<ImageView
android:id="@+id/ic_img_key"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="92dp"
android:contentDescription="@string/ic_img_key_desc"
android:src="@drawable/ic_key"
android:tint="#888"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ic_img_user" />
<TextView
android:id="@+id/lblUserKey"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:text="@string/str_userkey"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ic_img_key"
app:layout_constraintTop_toTopOf="@+id/ic_img_key" />
<HorizontalScrollView
android:id="@+id/svUserKey"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toStartOf="@+id/btnCopyUserKey"
app:layout_constraintStart_toEndOf="@+id/ic_img_key"
app:layout_constraintTop_toBottomOf="@+id/lblUserKey">
<TextView
android:id="@+id/tvUserKey"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" />
</HorizontalScrollView>
<ImageButton
android:id="@+id/btnCopyUserKey"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginEnd="8dp"
android:background="@null"
android:padding="2dp"
android:scaleType="fitXY"
android:src="?android:attr/actionModeCopyDrawable"
app:layout_constraintBottom_toBottomOf="@+id/svUserKey"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/svUserKey"
android:contentDescription="@string/str_copy" />
<ImageView
android:id="@+id/ic_img_quota"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="92dp"
android:contentDescription="@string/ic_img_fuel_desc"
android:src="@drawable/ic_fuel"
android:tint="#888"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ic_img_key" />
<TextView
android:id="@+id/lblQuota"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:text="@string/str_quota"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ic_img_quota"
app:layout_constraintTop_toTopOf="@+id/ic_img_quota" />
<HorizontalScrollView
android:id="@+id/svQuota"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ic_img_quota"
app:layout_constraintTop_toBottomOf="@+id/lblQuota">
<TextView
android:id="@+id/tvQuota"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="8dp" />
</HorizontalScrollView>
<ImageButton
android:id="@+id/btnQR"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:background="@null"
android:contentDescription="@string/str_qr_code"
android:scaleType="center"
android:src="@drawable/qr_default"
app:layout_constraintTop_toBottomOf="@+id/ic_img_quota"
app:layout_constraintBottom_toTopOf="@+id/btnAccountReset" />
<Button
android:id="@+id/btnAccountReset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/str_reset_account"
app:layout_constraintBottom_toTopOf="@+id/btnClearLocalStorage" />
<Button
android:id="@+id/btnClearLocalStorage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Clear Messages"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="352dp"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.NotificationsFragment">
<android.support.v7.widget.RecyclerView
android:id="@+id/rvMessages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:scrollbars="vertical" />
</FrameLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.SettingsFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
</FrameLayout>

View File

@ -1,3 +1,14 @@
<resources> <resources>
<string name="app_name">SimpleCloudNotifier</string> <string name="app_name">SimpleCloudNotifier</string>
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="ic_img_user_desc">Icon User</string>
<string name="str_userid">User ID</string>
<string name="str_userkey">Auth Key</string>
<string name="str_quota">Quota</string>
<string name="str_copy">Copy to clipboard</string>
<string name="ic_img_key_desc">Icon Key</string>
<string name="ic_img_fuel_desc">Icon Fuel</string>
<string name="str_qr_code">QR Code</string>
<string name="str_reset_account">Reset Account</string>
</resources> </resources>

View File

@ -1,11 +1,13 @@
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. --> <!-- your app branding color for the app bar -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">#3F51B5</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <!-- darker variant for the status bar and contextual app bars -->
<item name="colorAccent">@color/colorAccent</item> <item name="colorPrimaryDark">#303F9F</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="colorAccent">#FF4081</item>
</style> </style>
</resources> </resources>