diff --git a/BookAStar.sln b/BookAStar.sln
index 622d32c9..55bf0575 100644
--- a/BookAStar.sln
+++ b/BookAStar.sln
@@ -9,7 +9,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookAStar.iOS", "BookAStar\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookAStar", "BookAStar\BookAStar\BookAStar.csproj", "{A0815650-0A0A-47B0-8826-771F0E1AD137}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yavsc.Client", "Yavsc.Client\Yavsc.Client.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YavscLib", "YavscLib\YavscLib.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/BookAStar/BookAStar.Droid/Accounts/YavscAccountAuthenticator.cs b/BookAStar/BookAStar.Droid/Accounts/YavscAccountAuthenticator.cs
new file mode 100644
index 00000000..5591cab1
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Accounts/YavscAccountAuthenticator.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Android.Accounts;
+
+namespace BookAStar.Droid.Accounts
+{
+ class YavscAccountAuthenticator : AbstractAccountAuthenticator
+ {
+ public YavscAccountAuthenticator(Context context): base(context)
+ {
+
+ }
+
+ public override Bundle AddAccount(AccountAuthenticatorResponse response, string accountType, string authTokenType, string[] requiredFeatures, Bundle options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Bundle ConfirmCredentials(AccountAuthenticatorResponse response, Account account, Bundle options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Bundle EditProperties(AccountAuthenticatorResponse response, string accountType)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Bundle GetAuthToken(AccountAuthenticatorResponse response, Account account, string authTokenType, Bundle options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override string GetAuthTokenLabel(string authTokenType)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Bundle HasFeatures(AccountAuthenticatorResponse response, Account account, string[] features)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Bundle UpdateCredentials(AccountAuthenticatorResponse response, Account account, string authTokenType, Bundle options)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/BookAStar.Droid.csproj b/BookAStar/BookAStar.Droid/BookAStar.Droid.csproj
index 07016d17..9903e7bc 100644
--- a/BookAStar/BookAStar.Droid/BookAStar.Droid.csproj
+++ b/BookAStar/BookAStar.Droid/BookAStar.Droid.csproj
@@ -31,7 +31,7 @@
full
false
bin\Debug\
- TRACE;DEBUG;DEV
+ TRACE;DEBUG
prompt
0
True
@@ -328,6 +328,7 @@
+
@@ -342,11 +343,14 @@
+
+
+
@@ -372,6 +376,9 @@
Designer
+
+ Designer
+
@@ -381,15 +388,17 @@
-
+
+ Designer
+
Designer
-
+
{67f9d3a8-f71e-4428-913f-c37ae82cdb24}
- Yavsc.Client
+ YavscLib
{A0815650-0A0A-47B0-8826-771F0E1AD137}
@@ -474,7 +483,9 @@
Designer
-
+
+ Designer
+
@@ -499,6 +510,14 @@
+
+
+ Designer
+
+
+
+
+
diff --git a/BookAStar/BookAStar.Droid/MainActivity.cs b/BookAStar/BookAStar.Droid/MainActivity.cs
index a170881a..dc310313 100644
--- a/BookAStar/BookAStar.Droid/MainActivity.cs
+++ b/BookAStar/BookAStar.Droid/MainActivity.cs
@@ -251,8 +251,8 @@ namespace BookAStar.Droid
{
Task.Run(async () =>
{
- App.ShowBookQuery(
- await DataManager.Current.BookQueries.Get(queryId));
+ var query = DataManager.Instance.BookQueries.LocalGet(queryId);
+ App.ShowBookQuery(query);
});
}
}
@@ -319,15 +319,16 @@ namespace BookAStar.Droid
return manager.FindAccountsForService(Constants.ApplicationName);
});
}
- YaOAuth2Authenticator auth = new YaOAuth2Authenticator(
- clientId: "d9be5e97-c19d-42e4-b444-0e65863b19e1",
- clientSecret: "blouh",
- scope: "profile",
- authorizeUrl: new Uri("http://dev.pschneider.fr/authorize"),
- redirectUrl: new Uri("http://dev.pschneider.fr/oauth/success"),
- accessTokenUrl: new Uri("http://dev.pschneider.fr/token"));
+
public void AddAccount()
{
+ var auth = new YaOAuth2Authenticator(
+ clientId: "d9be5e97-c19d-42e4-b444-0e65863b19e1",
+ clientSecret: "blouh",
+ scope: "profile",
+ authorizeUrl: new Uri(Constants.AuthorizeUrl),
+ redirectUrl: new Uri(Constants.RedirectUrl),
+ accessTokenUrl: new Uri(Constants.AccessTokenUrl));
Intent loginIntent = auth.GetUI(this);
var accStore = AccountStore.Create(this);
auth.Completed += (sender, eventArgs) =>
@@ -348,65 +349,48 @@ namespace BookAStar.Droid
{
using (var client = new HttpClient())
{
-
// get me
- // var request = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, eventArgs.Account);
- var request = new HttpRequestMessage(HttpMethod.Get, Constants.UserInfoUrl);
-
- request.Headers.Authorization =
- new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", tokens.AccessToken);
-
- var response = await client.SendAsync(request);
-
- response.EnsureSuccessStatusCode();
-
- string userJson = await response.Content.ReadAsStringAsync();
- JObject jactiveUser = JObject.Parse(userJson);
- Account acc = eventArgs.Account;
-
- var uid = jactiveUser["Id"].Value();
- var username = jactiveUser["UserName"].Value();
- var roles = jactiveUser["Roles"].Values().ToList();
- var emails = jactiveUser["EMails"].Values().ToList();
-
-
- var newuser = new User
+ using (var request = new HttpRequestMessage(HttpMethod.Get, Constants.UserInfoUrl))
{
- UserName = username,
- EMails = emails,
- Roles = roles,
- Id = uid,
- YavscTokens = tokens
- };
-
- MainSettings.SaveUser(newuser);
- accStore.Save(acc, Constants.ApplicationName);
+ request.Headers.Authorization =
+ new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", tokens.AccessToken);
+
+ using (var response = await client.SendAsync(request))
+ {
+ response.EnsureSuccessStatusCode();
+ string userJson = await response.Content.ReadAsStringAsync();
+ JObject jactiveUser = JObject.Parse(userJson);
+ Account acc = eventArgs.Account;
+
+ var uid = jactiveUser["Id"].Value();
+ var username = jactiveUser["UserName"].Value();
+ var roles = jactiveUser["Roles"].Values().ToList();
+ var emails = jactiveUser["EMails"].Values().ToList();
+ var avatar = jactiveUser["Avatar"].Value();
+ var address = jactiveUser["Avatar"].Value();
+ var newuser = new User
+ {
+ UserName = username,
+ EMails = emails,
+ Roles = roles,
+ Id = uid,
+ YavscTokens = tokens,
+ Avatar = avatar,
+ Address = address
+ };
+
+ MainSettings.SaveUser(newuser);
+ accStore.Save(acc, Constants.ApplicationName);
+ }
+ }
}
- }
-
- );
-
+ });
}
};
auth.Error += Auth_Error;
StartActivity(loginIntent);
}
- public static void PopulateUserWithAccount(User u, Account a)
- {
- u.YavscTokens = new Model.Auth.Account.Tokens
- {
- AccessToken =
- a.Properties["access_token"],
- RefreshToken =
- a.Properties["refresh_token"],
- ExpiresIn =
- int.Parse(a.Properties["expires_in"]),
- TokenType = a.Properties["token_type"]
- };
- u.UserName = a.Username;
- }
-
private void Auth_Error(object sender, AuthenticatorErrorEventArgs e)
{
// TODO handle
diff --git a/BookAStar/BookAStar.Droid/Markdown/MDContextMenu.cs b/BookAStar/BookAStar.Droid/Markdown/MDContextMenu.cs
new file mode 100644
index 00000000..d5196466
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Markdown/MDContextMenu.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Android.Support.V7.App;
+using XLabs.Ioc;
+using XLabs.Platform.Mvvm;
+using XLabs.Forms;
+using static Android.Views.View;
+
+namespace BookAStar.Droid.Markdown
+{
+ class MDContextMenu : AppCompatDialog
+ {
+ private ActionMode mActionMode = null;
+ public MDContextMenu(Context context) : base(context)
+ {
+
+ }
+ public override void OnActionModeStarted(ActionMode mode)
+ {
+ if (mActionMode == null)
+ {
+ mActionMode = mode;
+ var menu = mode.Menu;
+ // Remove the default menu items (select all, copy, paste, search)
+ menu.Clear();
+
+ // If you want to keep any of the defaults,
+ // remove the items you don't want individually:
+ // menu.removeItem(android.R.id.[id_of_item_to_remove])
+
+ // Inflate your own menu items
+ mode.MenuInflater.Inflate(Resource.Menu.md_menu, menu);
+
+ }
+ mActionMode = mode;
+ base.OnActionModeStarted(mode);
+ }
+ public override void OnActionModeFinished(ActionMode mode)
+ {
+ base.OnActionModeFinished(mode);
+ }
+ protected override void OnCreate(Bundle savedInstanceState)
+ {
+ base.OnCreate(savedInstanceState);
+ }
+ public void OnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)
+ {
+ /* if (menuInfo!=null)
+ {
+ var info = menuInfo.ToString();
+ }
+ menu.Add(0, 0, 0, "test");
+ var subMenu = menu.AddSubMenu(
+ 0, 1, 1, "...");
+ subMenu.Add(0, 3, 0, "nkjnkjn");
+ var app = Resolver.Resolve() as IXFormsApp;
+
+ var mgr = ClipboardManager.FromContext(app.AppContext);
+ if (mgr.HasText)
+ menu.Add(0, 0, 0, "Coller!");*/
+ //base.OnCreateContextMenu(menu, v, menuInfo);
+ }
+ }
+}
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/Markdown/MDWebView.cs b/BookAStar/BookAStar.Droid/Markdown/MDWebView.cs
new file mode 100644
index 00000000..c567807d
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Markdown/MDWebView.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Android.Webkit;
+
+namespace BookAStar.Droid.Markdown
+{
+ class MDWebView : WebView
+ {
+ public MDWebView (Context context) : base (context)
+ {
+ }
+
+ public override ActionMode StartActionMode(ActionMode.ICallback callback)
+ {
+ return base.StartActionMode(callback);
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/Markdown/MarkdownEditor.cs b/BookAStar/BookAStar.Droid/Markdown/MarkdownEditor.cs
index 63160726..f6dea44a 100644
--- a/BookAStar/BookAStar.Droid/Markdown/MarkdownEditor.cs
+++ b/BookAStar/BookAStar.Droid/Markdown/MarkdownEditor.cs
@@ -17,7 +17,7 @@ using System.Linq;
using System.Text;
-[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorTemplatePreprocessor", "4.2.0.703")]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorTemplatePreprocessor", "4.2.1.62")]
public partial class MarkdownEditor : MarkdownEditorBase
{
diff --git a/BookAStar/BookAStar.Droid/Markdown/MarkdownViewModel.cs b/BookAStar/BookAStar.Droid/Markdown/MarkdownViewModel.cs
index ef482e8e..5a310f0b 100644
--- a/BookAStar/BookAStar.Droid/Markdown/MarkdownViewModel.cs
+++ b/BookAStar/BookAStar.Droid/Markdown/MarkdownViewModel.cs
@@ -9,6 +9,7 @@ using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
+using Android.Graphics;
namespace BookAStar.Droid.Markdown
{
@@ -17,6 +18,7 @@ namespace BookAStar.Droid.Markdown
protected static MarkdownDeep.Markdown markdown = new MarkdownDeep.Markdown();
public string Content { get; set; }
public bool Editable { get; set; }
+
public string GetHtml()
{
return markdown.Transform(Content);
diff --git a/BookAStar/BookAStar.Droid/Markdown/MarkdownViewRenderer.cs b/BookAStar/BookAStar.Droid/Markdown/MarkdownViewRenderer.cs
index e5680ea7..7ebdfef9 100644
--- a/BookAStar/BookAStar.Droid/Markdown/MarkdownViewRenderer.cs
+++ b/BookAStar/BookAStar.Droid/Markdown/MarkdownViewRenderer.cs
@@ -12,6 +12,11 @@ using Android.Views;
namespace BookAStar.Droid
{
using Markdown;
+ using XLabs.Forms;
+ using XLabs.Ioc;
+ using XLabs.Platform.Mvvm;
+ using static View;
+
public class MarkdownViewRenderer : ViewRenderer
{
private WebView editorView;
@@ -35,7 +40,9 @@ namespace BookAStar.Droid
{
if (view == null || xview == null) return;
var vch = view.ContentHeight;
- xview.HeightRequest = vch > xview.MinimumHeightRequest ? vch : xview.MinimumHeightRequest;
+ // var oldH = xview.Height;
+ var newH = vch > xview.MinimumHeightRequest ? vch : xview.MinimumHeightRequest;
+ xview.HeightRequest = newH;
}
protected override void OnElementChanged(ElementChangedEventArgs e)
@@ -55,10 +62,14 @@ namespace BookAStar.Droid
{
// Subscribe
editorTemplate.Model = new Markdown.MarkdownViewModel
- { Content = e.NewElement.Markdown, Editable = e.NewElement.Editable };
+ {
+ Content = e.NewElement.Markdown, Editable = e.NewElement.Editable
+ };
var html = editorTemplate.GenerateString();
EditorView.LoadDataWithBaseURL("file:///android_asset/",
html, "text/html", "utf-8", null);
+ EditorView.SetBackgroundColor(e.NewElement.BackgroundColor.ToAndroid());
+
}
}
@@ -69,7 +80,7 @@ namespace BookAStar.Droid
Control.LoadUrl(string.Format("javascript: {0}", script));
}
}
-
+ MDContextMenu contextMenu;
private WebView CreateNativeControl()
{
editorView = new WebView(Context);
@@ -89,9 +100,18 @@ namespace BookAStar.Droid
EditorView.Settings.DomStorageEnabled = true;
EditorView.AddJavascriptInterface(new JsBridgeMarkdown(this), "jsBridge");
EditorView.ViewTreeObserver.PreDraw += ViewTreeObserver_PreDraw;
+ //var app = Resolver.Resolve() as IXFormsApp;
+ //contextMenu = new MDContextMenu(app.AppContext);
+ //EditorView.SetOnCreateContextMenuListener(contextMenu);
+
return EditorView;
}
+ private void EditorView_Touch(object sender, TouchEventArgs e)
+ {
+
+ }
+
private void ViewTreeObserver_PreDraw(object sender, ViewTreeObserver.PreDrawEventArgs e)
{
AdjustHeightRequest(Element, Control);
diff --git a/BookAStar/BookAStar.Droid/OAuth2/YaOAuth2Authenticator.cs b/BookAStar/BookAStar.Droid/OAuth2/YaOAuth2Authenticator.cs
index 8f8fa6a0..89def904 100644
--- a/BookAStar/BookAStar.Droid/OAuth2/YaOAuth2Authenticator.cs
+++ b/BookAStar/BookAStar.Droid/OAuth2/YaOAuth2Authenticator.cs
@@ -368,7 +368,7 @@ public class YaOAuth2Authenticator : WebRedirectAuthenticator
var query = queryValues.FormEncode();
var req = WebRequest.Create(accessTokenUrl);
- // (req as HttpWebRequest).Accept = "application/json";
+ (req as HttpWebRequest).Accept = "application/json";
req.Method = "POST";
var body = Encoding.UTF8.GetBytes(query);
req.ContentLength = body.Length;
diff --git a/BookAStar/BookAStar.Droid/Properties/AndroidManifest.xml b/BookAStar/BookAStar.Droid/Properties/AndroidManifest.xml
index 5f09cf21..304d93ae 100644
--- a/BookAStar/BookAStar.Droid/Properties/AndroidManifest.xml
+++ b/BookAStar/BookAStar.Droid/Properties/AndroidManifest.xml
@@ -30,6 +30,12 @@
+
+
+
+
+
+
diff --git a/BookAStar/BookAStar.Droid/Rendering/ImageButtonRenderer.cs b/BookAStar/BookAStar.Droid/Rendering/ImageButtonRenderer.cs
index 38705672..e9f56876 100644
--- a/BookAStar/BookAStar.Droid/Rendering/ImageButtonRenderer.cs
+++ b/BookAStar/BookAStar.Droid/Rendering/ImageButtonRenderer.cs
@@ -200,7 +200,7 @@ namespace BookAStar.Rendering
var uriImageLoader = imagesource as UriImageSource;
if (uriImageLoader != null && uriImageLoader.Uri != null)
{
- using (var client = UserHelpers.CreateClient())
+ using (var client = UserHelpers.CreateJsonClient())
{
using (var response = await client.GetAsync(uriImageLoader.Uri))
{
diff --git a/BookAStar/BookAStar.Droid/Resources/Resource.Designer.cs b/BookAStar/BookAStar.Droid/Resources/Resource.Designer.cs
index 7c7f592d..94a27d8e 100644
--- a/BookAStar/BookAStar.Droid/Resources/Resource.Designer.cs
+++ b/BookAStar/BookAStar.Droid/Resources/Resource.Designer.cs
@@ -1922,8 +1922,8 @@ namespace BookAStar.Droid
public partial class Array
{
- // aapt resource value: 0x7f0e0000
- public const int androidcolors = 2131623936;
+ // aapt resource value: 0x7f0f0000
+ public const int androidcolors = 2131689472;
static Array()
{
@@ -2977,29 +2977,29 @@ namespace BookAStar.Droid
public partial class Boolean
{
- // aapt resource value: 0x7f0d0003
- public const int abc_action_bar_embed_tabs = 2131558403;
+ // aapt resource value: 0x7f0e0003
+ public const int abc_action_bar_embed_tabs = 2131623939;
- // aapt resource value: 0x7f0d0001
- public const int abc_action_bar_embed_tabs_pre_jb = 2131558401;
+ // aapt resource value: 0x7f0e0001
+ public const int abc_action_bar_embed_tabs_pre_jb = 2131623937;
- // aapt resource value: 0x7f0d0004
- public const int abc_action_bar_expanded_action_views_exclusive = 2131558404;
+ // aapt resource value: 0x7f0e0004
+ public const int abc_action_bar_expanded_action_views_exclusive = 2131623940;
- // aapt resource value: 0x7f0d0000
- public const int abc_allow_stacked_button_bar = 2131558400;
+ // aapt resource value: 0x7f0e0000
+ public const int abc_allow_stacked_button_bar = 2131623936;
- // aapt resource value: 0x7f0d0005
- public const int abc_config_actionMenuItemAllCaps = 2131558405;
+ // aapt resource value: 0x7f0e0005
+ public const int abc_config_actionMenuItemAllCaps = 2131623941;
- // aapt resource value: 0x7f0d0002
- public const int abc_config_allowActionMenuItemTextWithIcon = 2131558402;
+ // aapt resource value: 0x7f0e0002
+ public const int abc_config_allowActionMenuItemTextWithIcon = 2131623938;
- // aapt resource value: 0x7f0d0006
- public const int abc_config_closeDialogWhenTouchOutside = 2131558406;
+ // aapt resource value: 0x7f0e0006
+ public const int abc_config_closeDialogWhenTouchOutside = 2131623942;
- // aapt resource value: 0x7f0d0007
- public const int abc_config_showMenuShortcutsWhenKeyboardPresent = 2131558407;
+ // aapt resource value: 0x7f0e0007
+ public const int abc_config_showMenuShortcutsWhenKeyboardPresent = 2131623943;
static Boolean()
{
@@ -3014,374 +3014,374 @@ namespace BookAStar.Droid
public partial class Color
{
- // aapt resource value: 0x7f09006a
- public const int abc_background_cache_hint_selector_material_dark = 2131296362;
+ // aapt resource value: 0x7f0a006a
+ public const int abc_background_cache_hint_selector_material_dark = 2131361898;
- // aapt resource value: 0x7f09006b
- public const int abc_background_cache_hint_selector_material_light = 2131296363;
+ // aapt resource value: 0x7f0a006b
+ public const int abc_background_cache_hint_selector_material_light = 2131361899;
- // aapt resource value: 0x7f09006c
- public const int abc_color_highlight_material = 2131296364;
+ // aapt resource value: 0x7f0a006c
+ public const int abc_color_highlight_material = 2131361900;
- // aapt resource value: 0x7f090015
- public const int abc_input_method_navigation_guard = 2131296277;
+ // aapt resource value: 0x7f0a0015
+ public const int abc_input_method_navigation_guard = 2131361813;
- // aapt resource value: 0x7f09006d
- public const int abc_primary_text_disable_only_material_dark = 2131296365;
+ // aapt resource value: 0x7f0a006d
+ public const int abc_primary_text_disable_only_material_dark = 2131361901;
- // aapt resource value: 0x7f09006e
- public const int abc_primary_text_disable_only_material_light = 2131296366;
+ // aapt resource value: 0x7f0a006e
+ public const int abc_primary_text_disable_only_material_light = 2131361902;
- // aapt resource value: 0x7f09006f
- public const int abc_primary_text_material_dark = 2131296367;
+ // aapt resource value: 0x7f0a006f
+ public const int abc_primary_text_material_dark = 2131361903;
- // aapt resource value: 0x7f090070
- public const int abc_primary_text_material_light = 2131296368;
+ // aapt resource value: 0x7f0a0070
+ public const int abc_primary_text_material_light = 2131361904;
- // aapt resource value: 0x7f090071
- public const int abc_search_url_text = 2131296369;
+ // aapt resource value: 0x7f0a0071
+ public const int abc_search_url_text = 2131361905;
- // aapt resource value: 0x7f090016
- public const int abc_search_url_text_normal = 2131296278;
+ // aapt resource value: 0x7f0a0016
+ public const int abc_search_url_text_normal = 2131361814;
- // aapt resource value: 0x7f090017
- public const int abc_search_url_text_pressed = 2131296279;
+ // aapt resource value: 0x7f0a0017
+ public const int abc_search_url_text_pressed = 2131361815;
- // aapt resource value: 0x7f090018
- public const int abc_search_url_text_selected = 2131296280;
+ // aapt resource value: 0x7f0a0018
+ public const int abc_search_url_text_selected = 2131361816;
- // aapt resource value: 0x7f090072
- public const int abc_secondary_text_material_dark = 2131296370;
+ // aapt resource value: 0x7f0a0072
+ public const int abc_secondary_text_material_dark = 2131361906;
- // aapt resource value: 0x7f090073
- public const int abc_secondary_text_material_light = 2131296371;
+ // aapt resource value: 0x7f0a0073
+ public const int abc_secondary_text_material_light = 2131361907;
- // aapt resource value: 0x7f090068
- public const int accent = 2131296360;
+ // aapt resource value: 0x7f0a0068
+ public const int accent = 2131361896;
- // aapt resource value: 0x7f090019
- public const int accent_material_dark = 2131296281;
+ // aapt resource value: 0x7f0a0019
+ public const int accent_material_dark = 2131361817;
- // aapt resource value: 0x7f09001a
- public const int accent_material_light = 2131296282;
+ // aapt resource value: 0x7f0a001a
+ public const int accent_material_light = 2131361818;
- // aapt resource value: 0x7f09001b
- public const int background_floating_material_dark = 2131296283;
+ // aapt resource value: 0x7f0a001b
+ public const int background_floating_material_dark = 2131361819;
- // aapt resource value: 0x7f09001c
- public const int background_floating_material_light = 2131296284;
+ // aapt resource value: 0x7f0a001c
+ public const int background_floating_material_light = 2131361820;
- // aapt resource value: 0x7f09001d
- public const int background_material_dark = 2131296285;
+ // aapt resource value: 0x7f0a001d
+ public const int background_material_dark = 2131361821;
- // aapt resource value: 0x7f09001e
- public const int background_material_light = 2131296286;
+ // aapt resource value: 0x7f0a001e
+ public const int background_material_light = 2131361822;
- // aapt resource value: 0x7f09001f
- public const int bright_foreground_disabled_material_dark = 2131296287;
+ // aapt resource value: 0x7f0a001f
+ public const int bright_foreground_disabled_material_dark = 2131361823;
- // aapt resource value: 0x7f090020
- public const int bright_foreground_disabled_material_light = 2131296288;
+ // aapt resource value: 0x7f0a0020
+ public const int bright_foreground_disabled_material_light = 2131361824;
- // aapt resource value: 0x7f090021
- public const int bright_foreground_inverse_material_dark = 2131296289;
+ // aapt resource value: 0x7f0a0021
+ public const int bright_foreground_inverse_material_dark = 2131361825;
- // aapt resource value: 0x7f090022
- public const int bright_foreground_inverse_material_light = 2131296290;
+ // aapt resource value: 0x7f0a0022
+ public const int bright_foreground_inverse_material_light = 2131361826;
- // aapt resource value: 0x7f090023
- public const int bright_foreground_material_dark = 2131296291;
+ // aapt resource value: 0x7f0a0023
+ public const int bright_foreground_material_dark = 2131361827;
- // aapt resource value: 0x7f090024
- public const int bright_foreground_material_light = 2131296292;
+ // aapt resource value: 0x7f0a0024
+ public const int bright_foreground_material_light = 2131361828;
- // aapt resource value: 0x7f090025
- public const int button_material_dark = 2131296293;
+ // aapt resource value: 0x7f0a0025
+ public const int button_material_dark = 2131361829;
- // aapt resource value: 0x7f090026
- public const int button_material_light = 2131296294;
+ // aapt resource value: 0x7f0a0026
+ public const int button_material_light = 2131361830;
- // aapt resource value: 0x7f090059
- public const int calendar_active_month_bg = 2131296345;
+ // aapt resource value: 0x7f0a0059
+ public const int calendar_active_month_bg = 2131361881;
- // aapt resource value: 0x7f09005a
- public const int calendar_bg = 2131296346;
+ // aapt resource value: 0x7f0a005a
+ public const int calendar_bg = 2131361882;
- // aapt resource value: 0x7f09005b
- public const int calendar_divider = 2131296347;
+ // aapt resource value: 0x7f0a005b
+ public const int calendar_divider = 2131361883;
- // aapt resource value: 0x7f09005e
- public const int calendar_highlighted_day_bg = 2131296350;
+ // aapt resource value: 0x7f0a005e
+ public const int calendar_highlighted_day_bg = 2131361886;
- // aapt resource value: 0x7f09005c
- public const int calendar_inactive_month_bg = 2131296348;
+ // aapt resource value: 0x7f0a005c
+ public const int calendar_inactive_month_bg = 2131361884;
- // aapt resource value: 0x7f09005d
- public const int calendar_selected_day_bg = 2131296349;
+ // aapt resource value: 0x7f0a005d
+ public const int calendar_selected_day_bg = 2131361885;
- // aapt resource value: 0x7f09005f
- public const int calendar_selected_range_bg = 2131296351;
+ // aapt resource value: 0x7f0a005f
+ public const int calendar_selected_range_bg = 2131361887;
- // aapt resource value: 0x7f090061
- public const int calendar_text_active = 2131296353;
+ // aapt resource value: 0x7f0a0061
+ public const int calendar_text_active = 2131361889;
- // aapt resource value: 0x7f090060
- public const int calendar_text_inactive = 2131296352;
+ // aapt resource value: 0x7f0a0060
+ public const int calendar_text_inactive = 2131361888;
- // aapt resource value: 0x7f090062
- public const int calendar_text_selected = 2131296354;
+ // aapt resource value: 0x7f0a0062
+ public const int calendar_text_selected = 2131361890;
- // aapt resource value: 0x7f090074
- public const int calendar_text_selector = 2131296372;
+ // aapt resource value: 0x7f0a0074
+ public const int calendar_text_selector = 2131361908;
- // aapt resource value: 0x7f090063
- public const int calendar_text_unselectable = 2131296355;
+ // aapt resource value: 0x7f0a0063
+ public const int calendar_text_unselectable = 2131361891;
- // aapt resource value: 0x7f090011
- public const int cardview_dark_background = 2131296273;
+ // aapt resource value: 0x7f0a0011
+ public const int cardview_dark_background = 2131361809;
- // aapt resource value: 0x7f090012
- public const int cardview_light_background = 2131296274;
+ // aapt resource value: 0x7f0a0012
+ public const int cardview_light_background = 2131361810;
- // aapt resource value: 0x7f090013
- public const int cardview_shadow_end_color = 2131296275;
+ // aapt resource value: 0x7f0a0013
+ public const int cardview_shadow_end_color = 2131361811;
- // aapt resource value: 0x7f090014
- public const int cardview_shadow_start_color = 2131296276;
+ // aapt resource value: 0x7f0a0014
+ public const int cardview_shadow_start_color = 2131361812;
- // aapt resource value: 0x7f090008
- public const int common_action_bar_splitter = 2131296264;
+ // aapt resource value: 0x7f0a0008
+ public const int common_action_bar_splitter = 2131361800;
- // aapt resource value: 0x7f090075
- public const int common_google_signin_btn_text_dark = 2131296373;
+ // aapt resource value: 0x7f0a0075
+ public const int common_google_signin_btn_text_dark = 2131361909;
- // aapt resource value: 0x7f090009
- public const int common_google_signin_btn_text_dark_default = 2131296265;
+ // aapt resource value: 0x7f0a0009
+ public const int common_google_signin_btn_text_dark_default = 2131361801;
- // aapt resource value: 0x7f09000b
- public const int common_google_signin_btn_text_dark_disabled = 2131296267;
+ // aapt resource value: 0x7f0a000b
+ public const int common_google_signin_btn_text_dark_disabled = 2131361803;
- // aapt resource value: 0x7f09000c
- public const int common_google_signin_btn_text_dark_focused = 2131296268;
+ // aapt resource value: 0x7f0a000c
+ public const int common_google_signin_btn_text_dark_focused = 2131361804;
- // aapt resource value: 0x7f09000a
- public const int common_google_signin_btn_text_dark_pressed = 2131296266;
+ // aapt resource value: 0x7f0a000a
+ public const int common_google_signin_btn_text_dark_pressed = 2131361802;
- // aapt resource value: 0x7f090076
- public const int common_google_signin_btn_text_light = 2131296374;
+ // aapt resource value: 0x7f0a0076
+ public const int common_google_signin_btn_text_light = 2131361910;
- // aapt resource value: 0x7f09000d
- public const int common_google_signin_btn_text_light_default = 2131296269;
+ // aapt resource value: 0x7f0a000d
+ public const int common_google_signin_btn_text_light_default = 2131361805;
- // aapt resource value: 0x7f09000f
- public const int common_google_signin_btn_text_light_disabled = 2131296271;
+ // aapt resource value: 0x7f0a000f
+ public const int common_google_signin_btn_text_light_disabled = 2131361807;
- // aapt resource value: 0x7f090010
- public const int common_google_signin_btn_text_light_focused = 2131296272;
+ // aapt resource value: 0x7f0a0010
+ public const int common_google_signin_btn_text_light_focused = 2131361808;
- // aapt resource value: 0x7f09000e
- public const int common_google_signin_btn_text_light_pressed = 2131296270;
+ // aapt resource value: 0x7f0a000e
+ public const int common_google_signin_btn_text_light_pressed = 2131361806;
- // aapt resource value: 0x7f090077
- public const int common_plus_signin_btn_text_dark = 2131296375;
+ // aapt resource value: 0x7f0a0077
+ public const int common_plus_signin_btn_text_dark = 2131361911;
- // aapt resource value: 0x7f090000
- public const int common_plus_signin_btn_text_dark_default = 2131296256;
+ // aapt resource value: 0x7f0a0000
+ public const int common_plus_signin_btn_text_dark_default = 2131361792;
- // aapt resource value: 0x7f090002
- public const int common_plus_signin_btn_text_dark_disabled = 2131296258;
+ // aapt resource value: 0x7f0a0002
+ public const int common_plus_signin_btn_text_dark_disabled = 2131361794;
- // aapt resource value: 0x7f090003
- public const int common_plus_signin_btn_text_dark_focused = 2131296259;
+ // aapt resource value: 0x7f0a0003
+ public const int common_plus_signin_btn_text_dark_focused = 2131361795;
- // aapt resource value: 0x7f090001
- public const int common_plus_signin_btn_text_dark_pressed = 2131296257;
+ // aapt resource value: 0x7f0a0001
+ public const int common_plus_signin_btn_text_dark_pressed = 2131361793;
- // aapt resource value: 0x7f090078
- public const int common_plus_signin_btn_text_light = 2131296376;
+ // aapt resource value: 0x7f0a0078
+ public const int common_plus_signin_btn_text_light = 2131361912;
- // aapt resource value: 0x7f090004
- public const int common_plus_signin_btn_text_light_default = 2131296260;
+ // aapt resource value: 0x7f0a0004
+ public const int common_plus_signin_btn_text_light_default = 2131361796;
- // aapt resource value: 0x7f090006
- public const int common_plus_signin_btn_text_light_disabled = 2131296262;
+ // aapt resource value: 0x7f0a0006
+ public const int common_plus_signin_btn_text_light_disabled = 2131361798;
- // aapt resource value: 0x7f090007
- public const int common_plus_signin_btn_text_light_focused = 2131296263;
+ // aapt resource value: 0x7f0a0007
+ public const int common_plus_signin_btn_text_light_focused = 2131361799;
- // aapt resource value: 0x7f090005
- public const int common_plus_signin_btn_text_light_pressed = 2131296261;
+ // aapt resource value: 0x7f0a0005
+ public const int common_plus_signin_btn_text_light_pressed = 2131361797;
- // aapt resource value: 0x7f09004f
- public const int design_fab_shadow_end_color = 2131296335;
+ // aapt resource value: 0x7f0a004f
+ public const int design_fab_shadow_end_color = 2131361871;
- // aapt resource value: 0x7f090050
- public const int design_fab_shadow_mid_color = 2131296336;
+ // aapt resource value: 0x7f0a0050
+ public const int design_fab_shadow_mid_color = 2131361872;
- // aapt resource value: 0x7f090051
- public const int design_fab_shadow_start_color = 2131296337;
+ // aapt resource value: 0x7f0a0051
+ public const int design_fab_shadow_start_color = 2131361873;
- // aapt resource value: 0x7f090052
- public const int design_fab_stroke_end_inner_color = 2131296338;
+ // aapt resource value: 0x7f0a0052
+ public const int design_fab_stroke_end_inner_color = 2131361874;
- // aapt resource value: 0x7f090053
- public const int design_fab_stroke_end_outer_color = 2131296339;
+ // aapt resource value: 0x7f0a0053
+ public const int design_fab_stroke_end_outer_color = 2131361875;
- // aapt resource value: 0x7f090054
- public const int design_fab_stroke_top_inner_color = 2131296340;
+ // aapt resource value: 0x7f0a0054
+ public const int design_fab_stroke_top_inner_color = 2131361876;
- // aapt resource value: 0x7f090055
- public const int design_fab_stroke_top_outer_color = 2131296341;
+ // aapt resource value: 0x7f0a0055
+ public const int design_fab_stroke_top_outer_color = 2131361877;
- // aapt resource value: 0x7f090056
- public const int design_snackbar_background_color = 2131296342;
+ // aapt resource value: 0x7f0a0056
+ public const int design_snackbar_background_color = 2131361878;
- // aapt resource value: 0x7f090065
- public const int design_textinput_error_color = 2131296357;
+ // aapt resource value: 0x7f0a0065
+ public const int design_textinput_error_color = 2131361893;
- // aapt resource value: 0x7f090057
- public const int design_textinput_error_color_dark = 2131296343;
+ // aapt resource value: 0x7f0a0057
+ public const int design_textinput_error_color_dark = 2131361879;
- // aapt resource value: 0x7f090058
- public const int design_textinput_error_color_light = 2131296344;
+ // aapt resource value: 0x7f0a0058
+ public const int design_textinput_error_color_light = 2131361880;
- // aapt resource value: 0x7f090027
- public const int dim_foreground_disabled_material_dark = 2131296295;
+ // aapt resource value: 0x7f0a0027
+ public const int dim_foreground_disabled_material_dark = 2131361831;
- // aapt resource value: 0x7f090028
- public const int dim_foreground_disabled_material_light = 2131296296;
+ // aapt resource value: 0x7f0a0028
+ public const int dim_foreground_disabled_material_light = 2131361832;
- // aapt resource value: 0x7f090029
- public const int dim_foreground_material_dark = 2131296297;
+ // aapt resource value: 0x7f0a0029
+ public const int dim_foreground_material_dark = 2131361833;
- // aapt resource value: 0x7f09002a
- public const int dim_foreground_material_light = 2131296298;
+ // aapt resource value: 0x7f0a002a
+ public const int dim_foreground_material_light = 2131361834;
- // aapt resource value: 0x7f09002b
- public const int foreground_material_dark = 2131296299;
+ // aapt resource value: 0x7f0a002b
+ public const int foreground_material_dark = 2131361835;
- // aapt resource value: 0x7f09002c
- public const int foreground_material_light = 2131296300;
+ // aapt resource value: 0x7f0a002c
+ public const int foreground_material_light = 2131361836;
- // aapt resource value: 0x7f09002d
- public const int highlighted_text_material_dark = 2131296301;
+ // aapt resource value: 0x7f0a002d
+ public const int highlighted_text_material_dark = 2131361837;
- // aapt resource value: 0x7f09002e
- public const int highlighted_text_material_light = 2131296302;
+ // aapt resource value: 0x7f0a002e
+ public const int highlighted_text_material_light = 2131361838;
- // aapt resource value: 0x7f09002f
- public const int hint_foreground_material_dark = 2131296303;
+ // aapt resource value: 0x7f0a002f
+ public const int hint_foreground_material_dark = 2131361839;
- // aapt resource value: 0x7f090030
- public const int hint_foreground_material_light = 2131296304;
+ // aapt resource value: 0x7f0a0030
+ public const int hint_foreground_material_light = 2131361840;
- // aapt resource value: 0x7f090031
- public const int material_blue_grey_800 = 2131296305;
+ // aapt resource value: 0x7f0a0031
+ public const int material_blue_grey_800 = 2131361841;
- // aapt resource value: 0x7f090032
- public const int material_blue_grey_900 = 2131296306;
+ // aapt resource value: 0x7f0a0032
+ public const int material_blue_grey_900 = 2131361842;
- // aapt resource value: 0x7f090033
- public const int material_blue_grey_950 = 2131296307;
+ // aapt resource value: 0x7f0a0033
+ public const int material_blue_grey_950 = 2131361843;
- // aapt resource value: 0x7f090034
- public const int material_deep_teal_200 = 2131296308;
+ // aapt resource value: 0x7f0a0034
+ public const int material_deep_teal_200 = 2131361844;
- // aapt resource value: 0x7f090035
- public const int material_deep_teal_500 = 2131296309;
+ // aapt resource value: 0x7f0a0035
+ public const int material_deep_teal_500 = 2131361845;
- // aapt resource value: 0x7f090036
- public const int material_grey_100 = 2131296310;
+ // aapt resource value: 0x7f0a0036
+ public const int material_grey_100 = 2131361846;
- // aapt resource value: 0x7f090037
- public const int material_grey_300 = 2131296311;
+ // aapt resource value: 0x7f0a0037
+ public const int material_grey_300 = 2131361847;
- // aapt resource value: 0x7f090038
- public const int material_grey_50 = 2131296312;
+ // aapt resource value: 0x7f0a0038
+ public const int material_grey_50 = 2131361848;
- // aapt resource value: 0x7f090039
- public const int material_grey_600 = 2131296313;
+ // aapt resource value: 0x7f0a0039
+ public const int material_grey_600 = 2131361849;
- // aapt resource value: 0x7f09003a
- public const int material_grey_800 = 2131296314;
+ // aapt resource value: 0x7f0a003a
+ public const int material_grey_800 = 2131361850;
- // aapt resource value: 0x7f09003b
- public const int material_grey_850 = 2131296315;
+ // aapt resource value: 0x7f0a003b
+ public const int material_grey_850 = 2131361851;
- // aapt resource value: 0x7f09003c
- public const int material_grey_900 = 2131296316;
+ // aapt resource value: 0x7f0a003c
+ public const int material_grey_900 = 2131361852;
- // aapt resource value: 0x7f090066
- public const int primary = 2131296358;
+ // aapt resource value: 0x7f0a0066
+ public const int primary = 2131361894;
- // aapt resource value: 0x7f090067
- public const int primaryDark = 2131296359;
+ // aapt resource value: 0x7f0a0067
+ public const int primaryDark = 2131361895;
- // aapt resource value: 0x7f09003d
- public const int primary_dark_material_dark = 2131296317;
+ // aapt resource value: 0x7f0a003d
+ public const int primary_dark_material_dark = 2131361853;
- // aapt resource value: 0x7f09003e
- public const int primary_dark_material_light = 2131296318;
+ // aapt resource value: 0x7f0a003e
+ public const int primary_dark_material_light = 2131361854;
- // aapt resource value: 0x7f09003f
- public const int primary_material_dark = 2131296319;
+ // aapt resource value: 0x7f0a003f
+ public const int primary_material_dark = 2131361855;
- // aapt resource value: 0x7f090040
- public const int primary_material_light = 2131296320;
+ // aapt resource value: 0x7f0a0040
+ public const int primary_material_light = 2131361856;
- // aapt resource value: 0x7f090041
- public const int primary_text_default_material_dark = 2131296321;
+ // aapt resource value: 0x7f0a0041
+ public const int primary_text_default_material_dark = 2131361857;
- // aapt resource value: 0x7f090042
- public const int primary_text_default_material_light = 2131296322;
+ // aapt resource value: 0x7f0a0042
+ public const int primary_text_default_material_light = 2131361858;
- // aapt resource value: 0x7f090043
- public const int primary_text_disabled_material_dark = 2131296323;
+ // aapt resource value: 0x7f0a0043
+ public const int primary_text_disabled_material_dark = 2131361859;
- // aapt resource value: 0x7f090044
- public const int primary_text_disabled_material_light = 2131296324;
+ // aapt resource value: 0x7f0a0044
+ public const int primary_text_disabled_material_light = 2131361860;
- // aapt resource value: 0x7f090045
- public const int ripple_material_dark = 2131296325;
+ // aapt resource value: 0x7f0a0045
+ public const int ripple_material_dark = 2131361861;
- // aapt resource value: 0x7f090046
- public const int ripple_material_light = 2131296326;
+ // aapt resource value: 0x7f0a0046
+ public const int ripple_material_light = 2131361862;
- // aapt resource value: 0x7f090047
- public const int secondary_text_default_material_dark = 2131296327;
+ // aapt resource value: 0x7f0a0047
+ public const int secondary_text_default_material_dark = 2131361863;
- // aapt resource value: 0x7f090048
- public const int secondary_text_default_material_light = 2131296328;
+ // aapt resource value: 0x7f0a0048
+ public const int secondary_text_default_material_light = 2131361864;
- // aapt resource value: 0x7f090049
- public const int secondary_text_disabled_material_dark = 2131296329;
+ // aapt resource value: 0x7f0a0049
+ public const int secondary_text_disabled_material_dark = 2131361865;
- // aapt resource value: 0x7f09004a
- public const int secondary_text_disabled_material_light = 2131296330;
+ // aapt resource value: 0x7f0a004a
+ public const int secondary_text_disabled_material_light = 2131361866;
- // aapt resource value: 0x7f09004b
- public const int switch_thumb_disabled_material_dark = 2131296331;
+ // aapt resource value: 0x7f0a004b
+ public const int switch_thumb_disabled_material_dark = 2131361867;
- // aapt resource value: 0x7f09004c
- public const int switch_thumb_disabled_material_light = 2131296332;
+ // aapt resource value: 0x7f0a004c
+ public const int switch_thumb_disabled_material_light = 2131361868;
- // aapt resource value: 0x7f090079
- public const int switch_thumb_material_dark = 2131296377;
+ // aapt resource value: 0x7f0a0079
+ public const int switch_thumb_material_dark = 2131361913;
- // aapt resource value: 0x7f09007a
- public const int switch_thumb_material_light = 2131296378;
+ // aapt resource value: 0x7f0a007a
+ public const int switch_thumb_material_light = 2131361914;
- // aapt resource value: 0x7f09004d
- public const int switch_thumb_normal_material_dark = 2131296333;
+ // aapt resource value: 0x7f0a004d
+ public const int switch_thumb_normal_material_dark = 2131361869;
- // aapt resource value: 0x7f09004e
- public const int switch_thumb_normal_material_light = 2131296334;
+ // aapt resource value: 0x7f0a004e
+ public const int switch_thumb_normal_material_light = 2131361870;
- // aapt resource value: 0x7f090064
- public const int transparent_black_hex_8 = 2131296356;
+ // aapt resource value: 0x7f0a0064
+ public const int transparent_black_hex_8 = 2131361892;
- // aapt resource value: 0x7f090069
- public const int windowBackground = 2131296361;
+ // aapt resource value: 0x7f0a0069
+ public const int windowBackground = 2131361897;
static Color()
{
@@ -3396,389 +3396,389 @@ namespace BookAStar.Droid
public partial class Dimension
{
- // aapt resource value: 0x7f0b0019
- public const int abc_action_bar_content_inset_material = 2131427353;
+ // aapt resource value: 0x7f0c0019
+ public const int abc_action_bar_content_inset_material = 2131492889;
- // aapt resource value: 0x7f0b000d
- public const int abc_action_bar_default_height_material = 2131427341;
+ // aapt resource value: 0x7f0c000d
+ public const int abc_action_bar_default_height_material = 2131492877;
- // aapt resource value: 0x7f0b001a
- public const int abc_action_bar_default_padding_end_material = 2131427354;
+ // aapt resource value: 0x7f0c001a
+ public const int abc_action_bar_default_padding_end_material = 2131492890;
- // aapt resource value: 0x7f0b001b
- public const int abc_action_bar_default_padding_start_material = 2131427355;
+ // aapt resource value: 0x7f0c001b
+ public const int abc_action_bar_default_padding_start_material = 2131492891;
- // aapt resource value: 0x7f0b001d
- public const int abc_action_bar_icon_vertical_padding_material = 2131427357;
+ // aapt resource value: 0x7f0c001d
+ public const int abc_action_bar_icon_vertical_padding_material = 2131492893;
- // aapt resource value: 0x7f0b001e
- public const int abc_action_bar_overflow_padding_end_material = 2131427358;
+ // aapt resource value: 0x7f0c001e
+ public const int abc_action_bar_overflow_padding_end_material = 2131492894;
- // aapt resource value: 0x7f0b001f
- public const int abc_action_bar_overflow_padding_start_material = 2131427359;
+ // aapt resource value: 0x7f0c001f
+ public const int abc_action_bar_overflow_padding_start_material = 2131492895;
- // aapt resource value: 0x7f0b000e
- public const int abc_action_bar_progress_bar_size = 2131427342;
+ // aapt resource value: 0x7f0c000e
+ public const int abc_action_bar_progress_bar_size = 2131492878;
- // aapt resource value: 0x7f0b0020
- public const int abc_action_bar_stacked_max_height = 2131427360;
+ // aapt resource value: 0x7f0c0020
+ public const int abc_action_bar_stacked_max_height = 2131492896;
- // aapt resource value: 0x7f0b0021
- public const int abc_action_bar_stacked_tab_max_width = 2131427361;
+ // aapt resource value: 0x7f0c0021
+ public const int abc_action_bar_stacked_tab_max_width = 2131492897;
- // aapt resource value: 0x7f0b0022
- public const int abc_action_bar_subtitle_bottom_margin_material = 2131427362;
+ // aapt resource value: 0x7f0c0022
+ public const int abc_action_bar_subtitle_bottom_margin_material = 2131492898;
- // aapt resource value: 0x7f0b0023
- public const int abc_action_bar_subtitle_top_margin_material = 2131427363;
+ // aapt resource value: 0x7f0c0023
+ public const int abc_action_bar_subtitle_top_margin_material = 2131492899;
- // aapt resource value: 0x7f0b0024
- public const int abc_action_button_min_height_material = 2131427364;
+ // aapt resource value: 0x7f0c0024
+ public const int abc_action_button_min_height_material = 2131492900;
- // aapt resource value: 0x7f0b0025
- public const int abc_action_button_min_width_material = 2131427365;
+ // aapt resource value: 0x7f0c0025
+ public const int abc_action_button_min_width_material = 2131492901;
- // aapt resource value: 0x7f0b0026
- public const int abc_action_button_min_width_overflow_material = 2131427366;
+ // aapt resource value: 0x7f0c0026
+ public const int abc_action_button_min_width_overflow_material = 2131492902;
- // aapt resource value: 0x7f0b000c
- public const int abc_alert_dialog_button_bar_height = 2131427340;
+ // aapt resource value: 0x7f0c000c
+ public const int abc_alert_dialog_button_bar_height = 2131492876;
- // aapt resource value: 0x7f0b0027
- public const int abc_button_inset_horizontal_material = 2131427367;
+ // aapt resource value: 0x7f0c0027
+ public const int abc_button_inset_horizontal_material = 2131492903;
- // aapt resource value: 0x7f0b0028
- public const int abc_button_inset_vertical_material = 2131427368;
+ // aapt resource value: 0x7f0c0028
+ public const int abc_button_inset_vertical_material = 2131492904;
- // aapt resource value: 0x7f0b0029
- public const int abc_button_padding_horizontal_material = 2131427369;
+ // aapt resource value: 0x7f0c0029
+ public const int abc_button_padding_horizontal_material = 2131492905;
- // aapt resource value: 0x7f0b002a
- public const int abc_button_padding_vertical_material = 2131427370;
+ // aapt resource value: 0x7f0c002a
+ public const int abc_button_padding_vertical_material = 2131492906;
- // aapt resource value: 0x7f0b0011
- public const int abc_config_prefDialogWidth = 2131427345;
+ // aapt resource value: 0x7f0c0011
+ public const int abc_config_prefDialogWidth = 2131492881;
- // aapt resource value: 0x7f0b002b
- public const int abc_control_corner_material = 2131427371;
+ // aapt resource value: 0x7f0c002b
+ public const int abc_control_corner_material = 2131492907;
- // aapt resource value: 0x7f0b002c
- public const int abc_control_inset_material = 2131427372;
+ // aapt resource value: 0x7f0c002c
+ public const int abc_control_inset_material = 2131492908;
- // aapt resource value: 0x7f0b002d
- public const int abc_control_padding_material = 2131427373;
+ // aapt resource value: 0x7f0c002d
+ public const int abc_control_padding_material = 2131492909;
- // aapt resource value: 0x7f0b0012
- public const int abc_dialog_fixed_height_major = 2131427346;
+ // aapt resource value: 0x7f0c0012
+ public const int abc_dialog_fixed_height_major = 2131492882;
- // aapt resource value: 0x7f0b0013
- public const int abc_dialog_fixed_height_minor = 2131427347;
+ // aapt resource value: 0x7f0c0013
+ public const int abc_dialog_fixed_height_minor = 2131492883;
- // aapt resource value: 0x7f0b0014
- public const int abc_dialog_fixed_width_major = 2131427348;
+ // aapt resource value: 0x7f0c0014
+ public const int abc_dialog_fixed_width_major = 2131492884;
- // aapt resource value: 0x7f0b0015
- public const int abc_dialog_fixed_width_minor = 2131427349;
+ // aapt resource value: 0x7f0c0015
+ public const int abc_dialog_fixed_width_minor = 2131492885;
- // aapt resource value: 0x7f0b002e
- public const int abc_dialog_list_padding_vertical_material = 2131427374;
+ // aapt resource value: 0x7f0c002e
+ public const int abc_dialog_list_padding_vertical_material = 2131492910;
- // aapt resource value: 0x7f0b0016
- public const int abc_dialog_min_width_major = 2131427350;
+ // aapt resource value: 0x7f0c0016
+ public const int abc_dialog_min_width_major = 2131492886;
- // aapt resource value: 0x7f0b0017
- public const int abc_dialog_min_width_minor = 2131427351;
+ // aapt resource value: 0x7f0c0017
+ public const int abc_dialog_min_width_minor = 2131492887;
- // aapt resource value: 0x7f0b002f
- public const int abc_dialog_padding_material = 2131427375;
+ // aapt resource value: 0x7f0c002f
+ public const int abc_dialog_padding_material = 2131492911;
- // aapt resource value: 0x7f0b0030
- public const int abc_dialog_padding_top_material = 2131427376;
+ // aapt resource value: 0x7f0c0030
+ public const int abc_dialog_padding_top_material = 2131492912;
- // aapt resource value: 0x7f0b0031
- public const int abc_disabled_alpha_material_dark = 2131427377;
+ // aapt resource value: 0x7f0c0031
+ public const int abc_disabled_alpha_material_dark = 2131492913;
- // aapt resource value: 0x7f0b0032
- public const int abc_disabled_alpha_material_light = 2131427378;
+ // aapt resource value: 0x7f0c0032
+ public const int abc_disabled_alpha_material_light = 2131492914;
- // aapt resource value: 0x7f0b0033
- public const int abc_dropdownitem_icon_width = 2131427379;
+ // aapt resource value: 0x7f0c0033
+ public const int abc_dropdownitem_icon_width = 2131492915;
- // aapt resource value: 0x7f0b0034
- public const int abc_dropdownitem_text_padding_left = 2131427380;
+ // aapt resource value: 0x7f0c0034
+ public const int abc_dropdownitem_text_padding_left = 2131492916;
- // aapt resource value: 0x7f0b0035
- public const int abc_dropdownitem_text_padding_right = 2131427381;
+ // aapt resource value: 0x7f0c0035
+ public const int abc_dropdownitem_text_padding_right = 2131492917;
- // aapt resource value: 0x7f0b0036
- public const int abc_edit_text_inset_bottom_material = 2131427382;
+ // aapt resource value: 0x7f0c0036
+ public const int abc_edit_text_inset_bottom_material = 2131492918;
- // aapt resource value: 0x7f0b0037
- public const int abc_edit_text_inset_horizontal_material = 2131427383;
+ // aapt resource value: 0x7f0c0037
+ public const int abc_edit_text_inset_horizontal_material = 2131492919;
- // aapt resource value: 0x7f0b0038
- public const int abc_edit_text_inset_top_material = 2131427384;
+ // aapt resource value: 0x7f0c0038
+ public const int abc_edit_text_inset_top_material = 2131492920;
- // aapt resource value: 0x7f0b0039
- public const int abc_floating_window_z = 2131427385;
+ // aapt resource value: 0x7f0c0039
+ public const int abc_floating_window_z = 2131492921;
- // aapt resource value: 0x7f0b003a
- public const int abc_list_item_padding_horizontal_material = 2131427386;
+ // aapt resource value: 0x7f0c003a
+ public const int abc_list_item_padding_horizontal_material = 2131492922;
- // aapt resource value: 0x7f0b003b
- public const int abc_panel_menu_list_width = 2131427387;
+ // aapt resource value: 0x7f0c003b
+ public const int abc_panel_menu_list_width = 2131492923;
- // aapt resource value: 0x7f0b003c
- public const int abc_search_view_preferred_width = 2131427388;
+ // aapt resource value: 0x7f0c003c
+ public const int abc_search_view_preferred_width = 2131492924;
- // aapt resource value: 0x7f0b0018
- public const int abc_search_view_text_min_width = 2131427352;
+ // aapt resource value: 0x7f0c0018
+ public const int abc_search_view_text_min_width = 2131492888;
- // aapt resource value: 0x7f0b003d
- public const int abc_seekbar_track_background_height_material = 2131427389;
+ // aapt resource value: 0x7f0c003d
+ public const int abc_seekbar_track_background_height_material = 2131492925;
- // aapt resource value: 0x7f0b003e
- public const int abc_seekbar_track_progress_height_material = 2131427390;
+ // aapt resource value: 0x7f0c003e
+ public const int abc_seekbar_track_progress_height_material = 2131492926;
- // aapt resource value: 0x7f0b003f
- public const int abc_select_dialog_padding_start_material = 2131427391;
+ // aapt resource value: 0x7f0c003f
+ public const int abc_select_dialog_padding_start_material = 2131492927;
- // aapt resource value: 0x7f0b001c
- public const int abc_switch_padding = 2131427356;
+ // aapt resource value: 0x7f0c001c
+ public const int abc_switch_padding = 2131492892;
- // aapt resource value: 0x7f0b0040
- public const int abc_text_size_body_1_material = 2131427392;
+ // aapt resource value: 0x7f0c0040
+ public const int abc_text_size_body_1_material = 2131492928;
- // aapt resource value: 0x7f0b0041
- public const int abc_text_size_body_2_material = 2131427393;
+ // aapt resource value: 0x7f0c0041
+ public const int abc_text_size_body_2_material = 2131492929;
- // aapt resource value: 0x7f0b0042
- public const int abc_text_size_button_material = 2131427394;
+ // aapt resource value: 0x7f0c0042
+ public const int abc_text_size_button_material = 2131492930;
- // aapt resource value: 0x7f0b0043
- public const int abc_text_size_caption_material = 2131427395;
+ // aapt resource value: 0x7f0c0043
+ public const int abc_text_size_caption_material = 2131492931;
- // aapt resource value: 0x7f0b0044
- public const int abc_text_size_display_1_material = 2131427396;
+ // aapt resource value: 0x7f0c0044
+ public const int abc_text_size_display_1_material = 2131492932;
- // aapt resource value: 0x7f0b0045
- public const int abc_text_size_display_2_material = 2131427397;
+ // aapt resource value: 0x7f0c0045
+ public const int abc_text_size_display_2_material = 2131492933;
- // aapt resource value: 0x7f0b0046
- public const int abc_text_size_display_3_material = 2131427398;
+ // aapt resource value: 0x7f0c0046
+ public const int abc_text_size_display_3_material = 2131492934;
- // aapt resource value: 0x7f0b0047
- public const int abc_text_size_display_4_material = 2131427399;
+ // aapt resource value: 0x7f0c0047
+ public const int abc_text_size_display_4_material = 2131492935;
- // aapt resource value: 0x7f0b0048
- public const int abc_text_size_headline_material = 2131427400;
+ // aapt resource value: 0x7f0c0048
+ public const int abc_text_size_headline_material = 2131492936;
- // aapt resource value: 0x7f0b0049
- public const int abc_text_size_large_material = 2131427401;
+ // aapt resource value: 0x7f0c0049
+ public const int abc_text_size_large_material = 2131492937;
- // aapt resource value: 0x7f0b004a
- public const int abc_text_size_medium_material = 2131427402;
+ // aapt resource value: 0x7f0c004a
+ public const int abc_text_size_medium_material = 2131492938;
- // aapt resource value: 0x7f0b004b
- public const int abc_text_size_menu_material = 2131427403;
+ // aapt resource value: 0x7f0c004b
+ public const int abc_text_size_menu_material = 2131492939;
- // aapt resource value: 0x7f0b004c
- public const int abc_text_size_small_material = 2131427404;
+ // aapt resource value: 0x7f0c004c
+ public const int abc_text_size_small_material = 2131492940;
- // aapt resource value: 0x7f0b004d
- public const int abc_text_size_subhead_material = 2131427405;
+ // aapt resource value: 0x7f0c004d
+ public const int abc_text_size_subhead_material = 2131492941;
- // aapt resource value: 0x7f0b000f
- public const int abc_text_size_subtitle_material_toolbar = 2131427343;
+ // aapt resource value: 0x7f0c000f
+ public const int abc_text_size_subtitle_material_toolbar = 2131492879;
- // aapt resource value: 0x7f0b004e
- public const int abc_text_size_title_material = 2131427406;
+ // aapt resource value: 0x7f0c004e
+ public const int abc_text_size_title_material = 2131492942;
- // aapt resource value: 0x7f0b0010
- public const int abc_text_size_title_material_toolbar = 2131427344;
+ // aapt resource value: 0x7f0c0010
+ public const int abc_text_size_title_material_toolbar = 2131492880;
- // aapt resource value: 0x7f0b0079
- public const int btnwidth = 2131427449;
+ // aapt resource value: 0x7f0c0079
+ public const int btnwidth = 2131492985;
- // aapt resource value: 0x7f0b0074
- public const int calendar_day_headers_paddingbottom = 2131427444;
+ // aapt resource value: 0x7f0c0074
+ public const int calendar_day_headers_paddingbottom = 2131492980;
- // aapt resource value: 0x7f0b0076
- public const int calendar_month_title_bottommargin = 2131427446;
+ // aapt resource value: 0x7f0c0076
+ public const int calendar_month_title_bottommargin = 2131492982;
- // aapt resource value: 0x7f0b0075
- public const int calendar_month_topmargin = 2131427445;
+ // aapt resource value: 0x7f0c0075
+ public const int calendar_month_topmargin = 2131492981;
- // aapt resource value: 0x7f0b0077
- public const int calendar_text_medium = 2131427447;
+ // aapt resource value: 0x7f0c0077
+ public const int calendar_text_medium = 2131492983;
- // aapt resource value: 0x7f0b0078
- public const int calendar_text_small = 2131427448;
+ // aapt resource value: 0x7f0c0078
+ public const int calendar_text_small = 2131492984;
- // aapt resource value: 0x7f0b0009
- public const int cardview_compat_inset_shadow = 2131427337;
+ // aapt resource value: 0x7f0c0009
+ public const int cardview_compat_inset_shadow = 2131492873;
- // aapt resource value: 0x7f0b000a
- public const int cardview_default_elevation = 2131427338;
+ // aapt resource value: 0x7f0c000a
+ public const int cardview_default_elevation = 2131492874;
- // aapt resource value: 0x7f0b000b
- public const int cardview_default_radius = 2131427339;
+ // aapt resource value: 0x7f0c000b
+ public const int cardview_default_radius = 2131492875;
- // aapt resource value: 0x7f0b005f
- public const int design_appbar_elevation = 2131427423;
+ // aapt resource value: 0x7f0c005f
+ public const int design_appbar_elevation = 2131492959;
- // aapt resource value: 0x7f0b0060
- public const int design_bottom_sheet_modal_elevation = 2131427424;
+ // aapt resource value: 0x7f0c0060
+ public const int design_bottom_sheet_modal_elevation = 2131492960;
- // aapt resource value: 0x7f0b0061
- public const int design_bottom_sheet_modal_peek_height = 2131427425;
+ // aapt resource value: 0x7f0c0061
+ public const int design_bottom_sheet_modal_peek_height = 2131492961;
- // aapt resource value: 0x7f0b0062
- public const int design_fab_border_width = 2131427426;
+ // aapt resource value: 0x7f0c0062
+ public const int design_fab_border_width = 2131492962;
- // aapt resource value: 0x7f0b007a
- public const int design_fab_content_size = 2131427450;
+ // aapt resource value: 0x7f0c007a
+ public const int design_fab_content_size = 2131492986;
- // aapt resource value: 0x7f0b0063
- public const int design_fab_elevation = 2131427427;
+ // aapt resource value: 0x7f0c0063
+ public const int design_fab_elevation = 2131492963;
- // aapt resource value: 0x7f0b0064
- public const int design_fab_image_size = 2131427428;
+ // aapt resource value: 0x7f0c0064
+ public const int design_fab_image_size = 2131492964;
- // aapt resource value: 0x7f0b0065
- public const int design_fab_size_mini = 2131427429;
+ // aapt resource value: 0x7f0c0065
+ public const int design_fab_size_mini = 2131492965;
- // aapt resource value: 0x7f0b0066
- public const int design_fab_size_normal = 2131427430;
+ // aapt resource value: 0x7f0c0066
+ public const int design_fab_size_normal = 2131492966;
- // aapt resource value: 0x7f0b0067
- public const int design_fab_translation_z_pressed = 2131427431;
+ // aapt resource value: 0x7f0c0067
+ public const int design_fab_translation_z_pressed = 2131492967;
- // aapt resource value: 0x7f0b0068
- public const int design_navigation_elevation = 2131427432;
+ // aapt resource value: 0x7f0c0068
+ public const int design_navigation_elevation = 2131492968;
- // aapt resource value: 0x7f0b0069
- public const int design_navigation_icon_padding = 2131427433;
+ // aapt resource value: 0x7f0c0069
+ public const int design_navigation_icon_padding = 2131492969;
- // aapt resource value: 0x7f0b006a
- public const int design_navigation_icon_size = 2131427434;
+ // aapt resource value: 0x7f0c006a
+ public const int design_navigation_icon_size = 2131492970;
- // aapt resource value: 0x7f0b0057
- public const int design_navigation_max_width = 2131427415;
+ // aapt resource value: 0x7f0c0057
+ public const int design_navigation_max_width = 2131492951;
- // aapt resource value: 0x7f0b006b
- public const int design_navigation_padding_bottom = 2131427435;
+ // aapt resource value: 0x7f0c006b
+ public const int design_navigation_padding_bottom = 2131492971;
- // aapt resource value: 0x7f0b007b
- public const int design_navigation_padding_top_default = 2131427451;
+ // aapt resource value: 0x7f0c007b
+ public const int design_navigation_padding_top_default = 2131492987;
- // aapt resource value: 0x7f0b006c
- public const int design_navigation_separator_vertical_padding = 2131427436;
+ // aapt resource value: 0x7f0c006c
+ public const int design_navigation_separator_vertical_padding = 2131492972;
- // aapt resource value: 0x7f0b0058
- public const int design_snackbar_action_inline_max_width = 2131427416;
+ // aapt resource value: 0x7f0c0058
+ public const int design_snackbar_action_inline_max_width = 2131492952;
- // aapt resource value: 0x7f0b0059
- public const int design_snackbar_background_corner_radius = 2131427417;
+ // aapt resource value: 0x7f0c0059
+ public const int design_snackbar_background_corner_radius = 2131492953;
- // aapt resource value: 0x7f0b006d
- public const int design_snackbar_elevation = 2131427437;
+ // aapt resource value: 0x7f0c006d
+ public const int design_snackbar_elevation = 2131492973;
- // aapt resource value: 0x7f0b005a
- public const int design_snackbar_extra_spacing_horizontal = 2131427418;
+ // aapt resource value: 0x7f0c005a
+ public const int design_snackbar_extra_spacing_horizontal = 2131492954;
- // aapt resource value: 0x7f0b005b
- public const int design_snackbar_max_width = 2131427419;
+ // aapt resource value: 0x7f0c005b
+ public const int design_snackbar_max_width = 2131492955;
- // aapt resource value: 0x7f0b005c
- public const int design_snackbar_min_width = 2131427420;
+ // aapt resource value: 0x7f0c005c
+ public const int design_snackbar_min_width = 2131492956;
- // aapt resource value: 0x7f0b006e
- public const int design_snackbar_padding_horizontal = 2131427438;
+ // aapt resource value: 0x7f0c006e
+ public const int design_snackbar_padding_horizontal = 2131492974;
- // aapt resource value: 0x7f0b006f
- public const int design_snackbar_padding_vertical = 2131427439;
+ // aapt resource value: 0x7f0c006f
+ public const int design_snackbar_padding_vertical = 2131492975;
- // aapt resource value: 0x7f0b005d
- public const int design_snackbar_padding_vertical_2lines = 2131427421;
+ // aapt resource value: 0x7f0c005d
+ public const int design_snackbar_padding_vertical_2lines = 2131492957;
- // aapt resource value: 0x7f0b0070
- public const int design_snackbar_text_size = 2131427440;
+ // aapt resource value: 0x7f0c0070
+ public const int design_snackbar_text_size = 2131492976;
- // aapt resource value: 0x7f0b0071
- public const int design_tab_max_width = 2131427441;
+ // aapt resource value: 0x7f0c0071
+ public const int design_tab_max_width = 2131492977;
- // aapt resource value: 0x7f0b007c
- public const int design_tab_min_width = 2131427452;
+ // aapt resource value: 0x7f0c007c
+ public const int design_tab_min_width = 2131492988;
- // aapt resource value: 0x7f0b005e
- public const int design_tab_scrollable_min_width = 2131427422;
+ // aapt resource value: 0x7f0c005e
+ public const int design_tab_scrollable_min_width = 2131492958;
- // aapt resource value: 0x7f0b0072
- public const int design_tab_text_size = 2131427442;
+ // aapt resource value: 0x7f0c0072
+ public const int design_tab_text_size = 2131492978;
- // aapt resource value: 0x7f0b0073
- public const int design_tab_text_size_2line = 2131427443;
+ // aapt resource value: 0x7f0c0073
+ public const int design_tab_text_size_2line = 2131492979;
- // aapt resource value: 0x7f0b007d
- public const int dialog_fixed_height_major = 2131427453;
+ // aapt resource value: 0x7f0c007d
+ public const int dialog_fixed_height_major = 2131492989;
- // aapt resource value: 0x7f0b007e
- public const int dialog_fixed_width_major = 2131427454;
+ // aapt resource value: 0x7f0c007e
+ public const int dialog_fixed_width_major = 2131492990;
- // aapt resource value: 0x7f0b007f
- public const int dialog_fixed_width_minor = 2131427455;
+ // aapt resource value: 0x7f0c007f
+ public const int dialog_fixed_width_minor = 2131492991;
- // aapt resource value: 0x7f0b004f
- public const int disabled_alpha_material_dark = 2131427407;
+ // aapt resource value: 0x7f0c004f
+ public const int disabled_alpha_material_dark = 2131492943;
- // aapt resource value: 0x7f0b0050
- public const int disabled_alpha_material_light = 2131427408;
+ // aapt resource value: 0x7f0c0050
+ public const int disabled_alpha_material_light = 2131492944;
- // aapt resource value: 0x7f0b0051
- public const int highlight_alpha_material_colored = 2131427409;
+ // aapt resource value: 0x7f0c0051
+ public const int highlight_alpha_material_colored = 2131492945;
- // aapt resource value: 0x7f0b0052
- public const int highlight_alpha_material_dark = 2131427410;
+ // aapt resource value: 0x7f0c0052
+ public const int highlight_alpha_material_dark = 2131492946;
- // aapt resource value: 0x7f0b0053
- public const int highlight_alpha_material_light = 2131427411;
+ // aapt resource value: 0x7f0c0053
+ public const int highlight_alpha_material_light = 2131492947;
- // aapt resource value: 0x7f0b0000
- public const int item_touch_helper_max_drag_scroll_per_frame = 2131427328;
+ // aapt resource value: 0x7f0c0000
+ public const int item_touch_helper_max_drag_scroll_per_frame = 2131492864;
- // aapt resource value: 0x7f0b0001
- public const int item_touch_helper_swipe_escape_max_velocity = 2131427329;
+ // aapt resource value: 0x7f0c0001
+ public const int item_touch_helper_swipe_escape_max_velocity = 2131492865;
- // aapt resource value: 0x7f0b0002
- public const int item_touch_helper_swipe_escape_velocity = 2131427330;
+ // aapt resource value: 0x7f0c0002
+ public const int item_touch_helper_swipe_escape_velocity = 2131492866;
- // aapt resource value: 0x7f0b0003
- public const int mr_controller_volume_group_list_item_height = 2131427331;
+ // aapt resource value: 0x7f0c0003
+ public const int mr_controller_volume_group_list_item_height = 2131492867;
- // aapt resource value: 0x7f0b0004
- public const int mr_controller_volume_group_list_item_icon_size = 2131427332;
+ // aapt resource value: 0x7f0c0004
+ public const int mr_controller_volume_group_list_item_icon_size = 2131492868;
- // aapt resource value: 0x7f0b0005
- public const int mr_controller_volume_group_list_max_height = 2131427333;
+ // aapt resource value: 0x7f0c0005
+ public const int mr_controller_volume_group_list_max_height = 2131492869;
- // aapt resource value: 0x7f0b0008
- public const int mr_controller_volume_group_list_padding_top = 2131427336;
+ // aapt resource value: 0x7f0c0008
+ public const int mr_controller_volume_group_list_padding_top = 2131492872;
- // aapt resource value: 0x7f0b0006
- public const int mr_dialog_fixed_width_major = 2131427334;
+ // aapt resource value: 0x7f0c0006
+ public const int mr_dialog_fixed_width_major = 2131492870;
- // aapt resource value: 0x7f0b0007
- public const int mr_dialog_fixed_width_minor = 2131427335;
+ // aapt resource value: 0x7f0c0007
+ public const int mr_dialog_fixed_width_minor = 2131492871;
- // aapt resource value: 0x7f0b0054
- public const int notification_large_icon_height = 2131427412;
+ // aapt resource value: 0x7f0c0054
+ public const int notification_large_icon_height = 2131492948;
- // aapt resource value: 0x7f0b0055
- public const int notification_large_icon_width = 2131427413;
+ // aapt resource value: 0x7f0c0055
+ public const int notification_large_icon_width = 2131492949;
- // aapt resource value: 0x7f0b0056
- public const int notification_subtext_size = 2131427414;
+ // aapt resource value: 0x7f0c0056
+ public const int notification_subtext_size = 2131492950;
static Dimension()
{
@@ -4484,551 +4484,581 @@ namespace BookAStar.Droid
public partial class Id
{
- // aapt resource value: 0x7f0c009b
- public const int action0 = 2131493019;
+ // aapt resource value: 0x7f0d009b
+ public const int action0 = 2131558555;
- // aapt resource value: 0x7f0c0065
- public const int action_bar = 2131492965;
+ // aapt resource value: 0x7f0d0065
+ public const int action_bar = 2131558501;
- // aapt resource value: 0x7f0c0001
- public const int action_bar_activity_content = 2131492865;
+ // aapt resource value: 0x7f0d0001
+ public const int action_bar_activity_content = 2131558401;
- // aapt resource value: 0x7f0c0064
- public const int action_bar_container = 2131492964;
+ // aapt resource value: 0x7f0d0064
+ public const int action_bar_container = 2131558500;
- // aapt resource value: 0x7f0c0060
- public const int action_bar_root = 2131492960;
+ // aapt resource value: 0x7f0d0060
+ public const int action_bar_root = 2131558496;
- // aapt resource value: 0x7f0c0002
- public const int action_bar_spinner = 2131492866;
+ // aapt resource value: 0x7f0d0002
+ public const int action_bar_spinner = 2131558402;
- // aapt resource value: 0x7f0c0046
- public const int action_bar_subtitle = 2131492934;
+ // aapt resource value: 0x7f0d0046
+ public const int action_bar_subtitle = 2131558470;
- // aapt resource value: 0x7f0c0045
- public const int action_bar_title = 2131492933;
+ // aapt resource value: 0x7f0d0045
+ public const int action_bar_title = 2131558469;
- // aapt resource value: 0x7f0c0066
- public const int action_context_bar = 2131492966;
+ // aapt resource value: 0x7f0d0066
+ public const int action_context_bar = 2131558502;
- // aapt resource value: 0x7f0c009f
- public const int action_divider = 2131493023;
+ // aapt resource value: 0x7f0d009f
+ public const int action_divider = 2131558559;
- // aapt resource value: 0x7f0c0003
- public const int action_menu_divider = 2131492867;
+ // aapt resource value: 0x7f0d0003
+ public const int action_menu_divider = 2131558403;
- // aapt resource value: 0x7f0c0004
- public const int action_menu_presenter = 2131492868;
+ // aapt resource value: 0x7f0d0004
+ public const int action_menu_presenter = 2131558404;
- // aapt resource value: 0x7f0c0062
- public const int action_mode_bar = 2131492962;
+ // aapt resource value: 0x7f0d0062
+ public const int action_mode_bar = 2131558498;
- // aapt resource value: 0x7f0c0061
- public const int action_mode_bar_stub = 2131492961;
+ // aapt resource value: 0x7f0d0061
+ public const int action_mode_bar_stub = 2131558497;
- // aapt resource value: 0x7f0c0047
- public const int action_mode_close_button = 2131492935;
+ // aapt resource value: 0x7f0d0047
+ public const int action_mode_close_button = 2131558471;
- // aapt resource value: 0x7f0c00ac
- public const int actions_container = 2131493036;
+ // aapt resource value: 0x7f0d00ac
+ public const int actions_container = 2131558572;
- // aapt resource value: 0x7f0c0048
- public const int activity_chooser_view_content = 2131492936;
+ // aapt resource value: 0x7f0d0048
+ public const int activity_chooser_view_content = 2131558472;
- // aapt resource value: 0x7f0c0010
- public const int adjust_height = 2131492880;
+ // aapt resource value: 0x7f0d0010
+ public const int adjust_height = 2131558416;
- // aapt resource value: 0x7f0c0011
- public const int adjust_width = 2131492881;
+ // aapt resource value: 0x7f0d0011
+ public const int adjust_width = 2131558417;
- // aapt resource value: 0x7f0c0054
- public const int alertTitle = 2131492948;
+ // aapt resource value: 0x7f0d0054
+ public const int alertTitle = 2131558484;
- // aapt resource value: 0x7f0c0029
- public const int always = 2131492905;
+ // aapt resource value: 0x7f0d0029
+ public const int always = 2131558441;
- // aapt resource value: 0x7f0c0015
- public const int auto = 2131492885;
+ // aapt resource value: 0x7f0d0015
+ public const int auto = 2131558421;
- // aapt resource value: 0x7f0c0026
- public const int beginning = 2131492902;
+ // aapt resource value: 0x7f0d0026
+ public const int beginning = 2131558438;
- // aapt resource value: 0x7f0c0035
- public const int bottom = 2131492917;
+ // aapt resource value: 0x7f0d00ba
+ public const int bold = 2131558586;
- // aapt resource value: 0x7f0c00ae
- public const int bottom_chrome = 2131493038;
+ // aapt resource value: 0x7f0d0035
+ public const int bottom = 2131558453;
- // aapt resource value: 0x7f0c004f
- public const int buttonPanel = 2131492943;
+ // aapt resource value: 0x7f0d00ae
+ public const int bottom_chrome = 2131558574;
- // aapt resource value: 0x7f0c0081
- public const int calendar_grid = 2131492993;
+ // aapt resource value: 0x7f0d004f
+ public const int buttonPanel = 2131558479;
- // aapt resource value: 0x7f0c0075
- public const int calendar_view = 2131492981;
+ // aapt resource value: 0x7f0d0081
+ public const int calendar_grid = 2131558529;
- // aapt resource value: 0x7f0c0074
- public const int calendarr_pager = 2131492980;
+ // aapt resource value: 0x7f0d0075
+ public const int calendar_view = 2131558517;
- // aapt resource value: 0x7f0c009c
- public const int cancel_action = 2131493020;
+ // aapt resource value: 0x7f0d0074
+ public const int calendarr_pager = 2131558516;
- // aapt resource value: 0x7f0c0036
- public const int center = 2131492918;
+ // aapt resource value: 0x7f0d009c
+ public const int cancel_action = 2131558556;
- // aapt resource value: 0x7f0c0037
- public const int center_horizontal = 2131492919;
+ // aapt resource value: 0x7f0d0036
+ public const int center = 2131558454;
- // aapt resource value: 0x7f0c0038
- public const int center_vertical = 2131492920;
+ // aapt resource value: 0x7f0d0037
+ public const int center_horizontal = 2131558455;
- // aapt resource value: 0x7f0c005d
- public const int checkbox = 2131492957;
+ // aapt resource value: 0x7f0d0038
+ public const int center_vertical = 2131558456;
- // aapt resource value: 0x7f0c00a2
- public const int chronometer = 2131493026;
+ // aapt resource value: 0x7f0d005d
+ public const int checkbox = 2131558493;
- // aapt resource value: 0x7f0c003e
- public const int clip_horizontal = 2131492926;
+ // aapt resource value: 0x7f0d00a2
+ public const int chronometer = 2131558562;
- // aapt resource value: 0x7f0c003f
- public const int clip_vertical = 2131492927;
+ // aapt resource value: 0x7f0d003e
+ public const int clip_horizontal = 2131558462;
- // aapt resource value: 0x7f0c002a
- public const int collapseActionView = 2131492906;
+ // aapt resource value: 0x7f0d003f
+ public const int clip_vertical = 2131558463;
- // aapt resource value: 0x7f0c0055
- public const int contentPanel = 2131492949;
+ // aapt resource value: 0x7f0d002a
+ public const int collapseActionView = 2131558442;
- // aapt resource value: 0x7f0c005b
- public const int custom = 2131492955;
+ // aapt resource value: 0x7f0d0055
+ public const int contentPanel = 2131558485;
- // aapt resource value: 0x7f0c005a
- public const int customPanel = 2131492954;
+ // aapt resource value: 0x7f0d00b6
+ public const int copy = 2131558582;
- // aapt resource value: 0x7f0c0016
- public const int dark = 2131492886;
+ // aapt resource value: 0x7f0d005b
+ public const int custom = 2131558491;
- // aapt resource value: 0x7f0c0063
- public const int decor_content_parent = 2131492963;
+ // aapt resource value: 0x7f0d005a
+ public const int customPanel = 2131558490;
- // aapt resource value: 0x7f0c004b
- public const int default_activity_button = 2131492939;
+ // aapt resource value: 0x7f0d0016
+ public const int dark = 2131558422;
- // aapt resource value: 0x7f0c0079
- public const int design_bottom_sheet = 2131492985;
+ // aapt resource value: 0x7f0d0063
+ public const int decor_content_parent = 2131558499;
- // aapt resource value: 0x7f0c0080
- public const int design_menu_item_action_area = 2131492992;
+ // aapt resource value: 0x7f0d004b
+ public const int default_activity_button = 2131558475;
- // aapt resource value: 0x7f0c007f
- public const int design_menu_item_action_area_stub = 2131492991;
+ // aapt resource value: 0x7f0d0079
+ public const int design_bottom_sheet = 2131558521;
- // aapt resource value: 0x7f0c007e
- public const int design_menu_item_text = 2131492990;
+ // aapt resource value: 0x7f0d0080
+ public const int design_menu_item_action_area = 2131558528;
- // aapt resource value: 0x7f0c007d
- public const int design_navigation_view = 2131492989;
+ // aapt resource value: 0x7f0d007f
+ public const int design_menu_item_action_area_stub = 2131558527;
- // aapt resource value: 0x7f0c001a
- public const int disableHome = 2131492890;
+ // aapt resource value: 0x7f0d007e
+ public const int design_menu_item_text = 2131558526;
- // aapt resource value: 0x7f0c0067
- public const int edit_query = 2131492967;
+ // aapt resource value: 0x7f0d007d
+ public const int design_navigation_view = 2131558525;
- // aapt resource value: 0x7f0c0027
- public const int end = 2131492903;
+ // aapt resource value: 0x7f0d001a
+ public const int disableHome = 2131558426;
- // aapt resource value: 0x7f0c00a7
- public const int end_padder = 2131493031;
+ // aapt resource value: 0x7f0d0067
+ public const int edit_query = 2131558503;
- // aapt resource value: 0x7f0c002e
- public const int enterAlways = 2131492910;
+ // aapt resource value: 0x7f0d0027
+ public const int end = 2131558439;
- // aapt resource value: 0x7f0c002f
- public const int enterAlwaysCollapsed = 2131492911;
+ // aapt resource value: 0x7f0d00a7
+ public const int end_padder = 2131558567;
- // aapt resource value: 0x7f0c0030
- public const int exitUntilCollapsed = 2131492912;
+ // aapt resource value: 0x7f0d002e
+ public const int enterAlways = 2131558446;
- // aapt resource value: 0x7f0c0049
- public const int expand_activities_button = 2131492937;
+ // aapt resource value: 0x7f0d002f
+ public const int enterAlwaysCollapsed = 2131558447;
- // aapt resource value: 0x7f0c005c
- public const int expanded_menu = 2131492956;
+ // aapt resource value: 0x7f0d0030
+ public const int exitUntilCollapsed = 2131558448;
- // aapt resource value: 0x7f0c0040
- public const int fill = 2131492928;
+ // aapt resource value: 0x7f0d0049
+ public const int expand_activities_button = 2131558473;
- // aapt resource value: 0x7f0c0041
- public const int fill_horizontal = 2131492929;
+ // aapt resource value: 0x7f0d005c
+ public const int expanded_menu = 2131558492;
- // aapt resource value: 0x7f0c0039
- public const int fill_vertical = 2131492921;
+ // aapt resource value: 0x7f0d0040
+ public const int fill = 2131558464;
- // aapt resource value: 0x7f0c0043
- public const int @fixed = 2131492931;
+ // aapt resource value: 0x7f0d0041
+ public const int fill_horizontal = 2131558465;
- // aapt resource value: 0x7f0c00b2
- public const int fullscreen = 2131493042;
+ // aapt resource value: 0x7f0d0039
+ public const int fill_vertical = 2131558457;
- // aapt resource value: 0x7f0c0005
- public const int home = 2131492869;
+ // aapt resource value: 0x7f0d0043
+ public const int @fixed = 2131558467;
- // aapt resource value: 0x7f0c001b
- public const int homeAsUp = 2131492891;
+ // aapt resource value: 0x7f0d00b2
+ public const int fullscreen = 2131558578;
- // aapt resource value: 0x7f0c000b
- public const int hybrid = 2131492875;
+ // aapt resource value: 0x7f0d00b7
+ public const int group = 2131558583;
- // aapt resource value: 0x7f0c004d
- public const int icon = 2131492941;
+ // aapt resource value: 0x7f0d00be
+ public const int header1 = 2131558590;
- // aapt resource value: 0x7f0c0012
- public const int icon_only = 2131492882;
+ // aapt resource value: 0x7f0d00bf
+ public const int header2 = 2131558591;
- // aapt resource value: 0x7f0c002b
- public const int ifRoom = 2131492907;
+ // aapt resource value: 0x7f0d0005
+ public const int home = 2131558405;
- // aapt resource value: 0x7f0c004a
- public const int image = 2131492938;
+ // aapt resource value: 0x7f0d001b
+ public const int homeAsUp = 2131558427;
- // aapt resource value: 0x7f0c00a6
- public const int info = 2131493030;
+ // aapt resource value: 0x7f0d000b
+ public const int hybrid = 2131558411;
- // aapt resource value: 0x7f0c0000
- public const int item_touch_helper_previous_elevation = 2131492864;
+ // aapt resource value: 0x7f0d004d
+ public const int icon = 2131558477;
- // aapt resource value: 0x7f0c003a
- public const int left = 2131492922;
+ // aapt resource value: 0x7f0d0012
+ public const int icon_only = 2131558418;
- // aapt resource value: 0x7f0c0077
- public const int left_arrow = 2131492983;
+ // aapt resource value: 0x7f0d002b
+ public const int ifRoom = 2131558443;
- // aapt resource value: 0x7f0c0017
- public const int light = 2131492887;
+ // aapt resource value: 0x7f0d004a
+ public const int image = 2131558474;
- // aapt resource value: 0x7f0c00a0
- public const int line1 = 2131493024;
+ // aapt resource value: 0x7f0d00a6
+ public const int info = 2131558566;
- // aapt resource value: 0x7f0c00a4
- public const int line3 = 2131493028;
+ // aapt resource value: 0x7f0d00bb
+ public const int italic = 2131558587;
- // aapt resource value: 0x7f0c0018
- public const int listMode = 2131492888;
+ // aapt resource value: 0x7f0d0000
+ public const int item_touch_helper_previous_elevation = 2131558400;
- // aapt resource value: 0x7f0c004c
- public const int list_item = 2131492940;
+ // aapt resource value: 0x7f0d003a
+ public const int left = 2131558458;
- // aapt resource value: 0x7f0c00aa
- public const int logo_image = 2131493034;
+ // aapt resource value: 0x7f0d0077
+ public const int left_arrow = 2131558519;
- // aapt resource value: 0x7f0c009e
- public const int media_actions = 2131493022;
+ // aapt resource value: 0x7f0d0017
+ public const int light = 2131558423;
- // aapt resource value: 0x7f0c00b0
- public const int mediacontroller_progress = 2131493040;
+ // aapt resource value: 0x7f0d00a0
+ public const int line1 = 2131558560;
- // aapt resource value: 0x7f0c0028
- public const int middle = 2131492904;
+ // aapt resource value: 0x7f0d00a4
+ public const int line3 = 2131558564;
- // aapt resource value: 0x7f0c00a8
- public const int middle_section = 2131493032;
+ // aapt resource value: 0x7f0d0018
+ public const int listMode = 2131558424;
- // aapt resource value: 0x7f0c0042
- public const int mini = 2131492930;
+ // aapt resource value: 0x7f0d004c
+ public const int list_item = 2131558476;
- // aapt resource value: 0x7f0c008d
- public const int mr_art = 2131493005;
+ // aapt resource value: 0x7f0d00aa
+ public const int logo_image = 2131558570;
- // aapt resource value: 0x7f0c0082
- public const int mr_chooser_list = 2131492994;
+ // aapt resource value: 0x7f0d009e
+ public const int media_actions = 2131558558;
- // aapt resource value: 0x7f0c0085
- public const int mr_chooser_route_desc = 2131492997;
+ // aapt resource value: 0x7f0d00b0
+ public const int mediacontroller_progress = 2131558576;
- // aapt resource value: 0x7f0c0083
- public const int mr_chooser_route_icon = 2131492995;
+ // aapt resource value: 0x7f0d0028
+ public const int middle = 2131558440;
- // aapt resource value: 0x7f0c0084
- public const int mr_chooser_route_name = 2131492996;
+ // aapt resource value: 0x7f0d00a8
+ public const int middle_section = 2131558568;
- // aapt resource value: 0x7f0c008a
- public const int mr_close = 2131493002;
+ // aapt resource value: 0x7f0d0042
+ public const int mini = 2131558466;
- // aapt resource value: 0x7f0c0090
- public const int mr_control_divider = 2131493008;
+ // aapt resource value: 0x7f0d008d
+ public const int mr_art = 2131558541;
- // aapt resource value: 0x7f0c0096
- public const int mr_control_play_pause = 2131493014;
+ // aapt resource value: 0x7f0d0082
+ public const int mr_chooser_list = 2131558530;
- // aapt resource value: 0x7f0c0099
- public const int mr_control_subtitle = 2131493017;
+ // aapt resource value: 0x7f0d0085
+ public const int mr_chooser_route_desc = 2131558533;
- // aapt resource value: 0x7f0c0098
- public const int mr_control_title = 2131493016;
+ // aapt resource value: 0x7f0d0083
+ public const int mr_chooser_route_icon = 2131558531;
- // aapt resource value: 0x7f0c0097
- public const int mr_control_title_container = 2131493015;
+ // aapt resource value: 0x7f0d0084
+ public const int mr_chooser_route_name = 2131558532;
- // aapt resource value: 0x7f0c008b
- public const int mr_custom_control = 2131493003;
+ // aapt resource value: 0x7f0d008a
+ public const int mr_close = 2131558538;
- // aapt resource value: 0x7f0c008c
- public const int mr_default_control = 2131493004;
+ // aapt resource value: 0x7f0d0090
+ public const int mr_control_divider = 2131558544;
- // aapt resource value: 0x7f0c0087
- public const int mr_dialog_area = 2131492999;
+ // aapt resource value: 0x7f0d0096
+ public const int mr_control_play_pause = 2131558550;
- // aapt resource value: 0x7f0c0086
- public const int mr_expandable_area = 2131492998;
+ // aapt resource value: 0x7f0d0099
+ public const int mr_control_subtitle = 2131558553;
- // aapt resource value: 0x7f0c009a
- public const int mr_group_expand_collapse = 2131493018;
+ // aapt resource value: 0x7f0d0098
+ public const int mr_control_title = 2131558552;
- // aapt resource value: 0x7f0c008e
- public const int mr_media_main_control = 2131493006;
+ // aapt resource value: 0x7f0d0097
+ public const int mr_control_title_container = 2131558551;
- // aapt resource value: 0x7f0c0089
- public const int mr_name = 2131493001;
+ // aapt resource value: 0x7f0d008b
+ public const int mr_custom_control = 2131558539;
- // aapt resource value: 0x7f0c008f
- public const int mr_playback_control = 2131493007;
+ // aapt resource value: 0x7f0d008c
+ public const int mr_default_control = 2131558540;
- // aapt resource value: 0x7f0c0088
- public const int mr_title_bar = 2131493000;
+ // aapt resource value: 0x7f0d0087
+ public const int mr_dialog_area = 2131558535;
- // aapt resource value: 0x7f0c0091
- public const int mr_volume_control = 2131493009;
+ // aapt resource value: 0x7f0d0086
+ public const int mr_expandable_area = 2131558534;
- // aapt resource value: 0x7f0c0092
- public const int mr_volume_group_list = 2131493010;
+ // aapt resource value: 0x7f0d009a
+ public const int mr_group_expand_collapse = 2131558554;
- // aapt resource value: 0x7f0c0094
- public const int mr_volume_item_icon = 2131493012;
+ // aapt resource value: 0x7f0d008e
+ public const int mr_media_main_control = 2131558542;
- // aapt resource value: 0x7f0c0095
- public const int mr_volume_slider = 2131493013;
+ // aapt resource value: 0x7f0d0089
+ public const int mr_name = 2131558537;
- // aapt resource value: 0x7f0c0021
- public const int multiply = 2131492897;
+ // aapt resource value: 0x7f0d008f
+ public const int mr_playback_control = 2131558543;
- // aapt resource value: 0x7f0c007c
- public const int navigation_header_container = 2131492988;
+ // aapt resource value: 0x7f0d0088
+ public const int mr_title_bar = 2131558536;
- // aapt resource value: 0x7f0c002c
- public const int never = 2131492908;
+ // aapt resource value: 0x7f0d0091
+ public const int mr_volume_control = 2131558545;
- // aapt resource value: 0x7f0c000c
- public const int none = 2131492876;
+ // aapt resource value: 0x7f0d0092
+ public const int mr_volume_group_list = 2131558546;
- // aapt resource value: 0x7f0c000d
- public const int normal = 2131492877;
+ // aapt resource value: 0x7f0d0094
+ public const int mr_volume_item_icon = 2131558548;
- // aapt resource value: 0x7f0c0033
- public const int parallax = 2131492915;
+ // aapt resource value: 0x7f0d0095
+ public const int mr_volume_slider = 2131558549;
- // aapt resource value: 0x7f0c0051
- public const int parentPanel = 2131492945;
+ // aapt resource value: 0x7f0d0021
+ public const int multiply = 2131558433;
- // aapt resource value: 0x7f0c00ad
- public const int pause = 2131493037;
+ // aapt resource value: 0x7f0d007c
+ public const int navigation_header_container = 2131558524;
- // aapt resource value: 0x7f0c0034
- public const int pin = 2131492916;
+ // aapt resource value: 0x7f0d002c
+ public const int never = 2131558444;
- // aapt resource value: 0x7f0c0006
- public const int progress_circular = 2131492870;
+ // aapt resource value: 0x7f0d000c
+ public const int none = 2131558412;
- // aapt resource value: 0x7f0c0007
- public const int progress_horizontal = 2131492871;
+ // aapt resource value: 0x7f0d000d
+ public const int normal = 2131558413;
- // aapt resource value: 0x7f0c005f
- public const int radio = 2131492959;
+ // aapt resource value: 0x7f0d0033
+ public const int parallax = 2131558451;
- // aapt resource value: 0x7f0c003b
- public const int right = 2131492923;
+ // aapt resource value: 0x7f0d0051
+ public const int parentPanel = 2131558481;
- // aapt resource value: 0x7f0c0076
- public const int right_arrow = 2131492982;
+ // aapt resource value: 0x7f0d00b8
+ public const int past = 2131558584;
- // aapt resource value: 0x7f0c000e
- public const int satellite = 2131492878;
+ // aapt resource value: 0x7f0d00ad
+ public const int pause = 2131558573;
- // aapt resource value: 0x7f0c0022
- public const int screen = 2131492898;
+ // aapt resource value: 0x7f0d0034
+ public const int pin = 2131558452;
- // aapt resource value: 0x7f0c0031
- public const int scroll = 2131492913;
+ // aapt resource value: 0x7f0d0006
+ public const int progress_circular = 2131558406;
- // aapt resource value: 0x7f0c0059
- public const int scrollIndicatorDown = 2131492953;
+ // aapt resource value: 0x7f0d0007
+ public const int progress_horizontal = 2131558407;
- // aapt resource value: 0x7f0c0056
- public const int scrollIndicatorUp = 2131492950;
+ // aapt resource value: 0x7f0d005f
+ public const int radio = 2131558495;
- // aapt resource value: 0x7f0c0057
- public const int scrollView = 2131492951;
+ // aapt resource value: 0x7f0d003b
+ public const int right = 2131558459;
- // aapt resource value: 0x7f0c0044
- public const int scrollable = 2131492932;
+ // aapt resource value: 0x7f0d0076
+ public const int right_arrow = 2131558518;
- // aapt resource value: 0x7f0c0069
- public const int search_badge = 2131492969;
+ // aapt resource value: 0x7f0d000e
+ public const int satellite = 2131558414;
- // aapt resource value: 0x7f0c0068
- public const int search_bar = 2131492968;
+ // aapt resource value: 0x7f0d0022
+ public const int screen = 2131558434;
- // aapt resource value: 0x7f0c006a
- public const int search_button = 2131492970;
+ // aapt resource value: 0x7f0d0031
+ public const int scroll = 2131558449;
- // aapt resource value: 0x7f0c006f
- public const int search_close_btn = 2131492975;
+ // aapt resource value: 0x7f0d0059
+ public const int scrollIndicatorDown = 2131558489;
- // aapt resource value: 0x7f0c006b
- public const int search_edit_frame = 2131492971;
+ // aapt resource value: 0x7f0d0056
+ public const int scrollIndicatorUp = 2131558486;
- // aapt resource value: 0x7f0c0071
- public const int search_go_btn = 2131492977;
+ // aapt resource value: 0x7f0d0057
+ public const int scrollView = 2131558487;
- // aapt resource value: 0x7f0c006c
- public const int search_mag_icon = 2131492972;
+ // aapt resource value: 0x7f0d0044
+ public const int scrollable = 2131558468;
- // aapt resource value: 0x7f0c006d
- public const int search_plate = 2131492973;
+ // aapt resource value: 0x7f0d0069
+ public const int search_badge = 2131558505;
- // aapt resource value: 0x7f0c006e
- public const int search_src_text = 2131492974;
+ // aapt resource value: 0x7f0d0068
+ public const int search_bar = 2131558504;
- // aapt resource value: 0x7f0c0072
- public const int search_voice_btn = 2131492978;
+ // aapt resource value: 0x7f0d006a
+ public const int search_button = 2131558506;
- // aapt resource value: 0x7f0c0073
- public const int select_dialog_listview = 2131492979;
+ // aapt resource value: 0x7f0d006f
+ public const int search_close_btn = 2131558511;
- // aapt resource value: 0x7f0c005e
- public const int shortcut = 2131492958;
+ // aapt resource value: 0x7f0d006b
+ public const int search_edit_frame = 2131558507;
- // aapt resource value: 0x7f0c001c
- public const int showCustom = 2131492892;
+ // aapt resource value: 0x7f0d0071
+ public const int search_go_btn = 2131558513;
- // aapt resource value: 0x7f0c001d
- public const int showHome = 2131492893;
+ // aapt resource value: 0x7f0d006c
+ public const int search_mag_icon = 2131558508;
- // aapt resource value: 0x7f0c001e
- public const int showTitle = 2131492894;
+ // aapt resource value: 0x7f0d006d
+ public const int search_plate = 2131558509;
- // aapt resource value: 0x7f0c00b4
- public const int sliding_tabs = 2131493044;
+ // aapt resource value: 0x7f0d006e
+ public const int search_src_text = 2131558510;
- // aapt resource value: 0x7f0c007b
- public const int snackbar_action = 2131492987;
+ // aapt resource value: 0x7f0d0072
+ public const int search_voice_btn = 2131558514;
- // aapt resource value: 0x7f0c007a
- public const int snackbar_text = 2131492986;
+ // aapt resource value: 0x7f0d0073
+ public const int select_dialog_listview = 2131558515;
- // aapt resource value: 0x7f0c0032
- public const int snap = 2131492914;
+ // aapt resource value: 0x7f0d005e
+ public const int shortcut = 2131558494;
- // aapt resource value: 0x7f0c0050
- public const int spacer = 2131492944;
+ // aapt resource value: 0x7f0d001c
+ public const int showCustom = 2131558428;
- // aapt resource value: 0x7f0c0008
- public const int split_action_bar = 2131492872;
+ // aapt resource value: 0x7f0d001d
+ public const int showHome = 2131558429;
- // aapt resource value: 0x7f0c0023
- public const int src_atop = 2131492899;
+ // aapt resource value: 0x7f0d001e
+ public const int showTitle = 2131558430;
- // aapt resource value: 0x7f0c0024
- public const int src_in = 2131492900;
+ // aapt resource value: 0x7f0d00b4
+ public const int sliding_tabs = 2131558580;
- // aapt resource value: 0x7f0c0025
- public const int src_over = 2131492901;
+ // aapt resource value: 0x7f0d007b
+ public const int snackbar_action = 2131558523;
- // aapt resource value: 0x7f0c0013
- public const int standard = 2131492883;
+ // aapt resource value: 0x7f0d007a
+ public const int snackbar_text = 2131558522;
- // aapt resource value: 0x7f0c003c
- public const int start = 2131492924;
+ // aapt resource value: 0x7f0d0032
+ public const int snap = 2131558450;
- // aapt resource value: 0x7f0c009d
- public const int status_bar_latest_event_content = 2131493021;
+ // aapt resource value: 0x7f0d0050
+ public const int spacer = 2131558480;
- // aapt resource value: 0x7f0c0070
- public const int submit_area = 2131492976;
+ // aapt resource value: 0x7f0d0008
+ public const int split_action_bar = 2131558408;
- // aapt resource value: 0x7f0c00b3
- public const int subtitles = 2131493043;
+ // aapt resource value: 0x7f0d0023
+ public const int src_atop = 2131558435;
- // aapt resource value: 0x7f0c00b5
- public const int surface_view = 2131493045;
+ // aapt resource value: 0x7f0d0024
+ public const int src_in = 2131558436;
- // aapt resource value: 0x7f0c0019
- public const int tabMode = 2131492889;
+ // aapt resource value: 0x7f0d0025
+ public const int src_over = 2131558437;
- // aapt resource value: 0x7f0c000f
- public const int terrain = 2131492879;
+ // aapt resource value: 0x7f0d0013
+ public const int standard = 2131558419;
- // aapt resource value: 0x7f0c00a5
- public const int text = 2131493029;
+ // aapt resource value: 0x7f0d003c
+ public const int start = 2131558460;
- // aapt resource value: 0x7f0c00a3
- public const int text2 = 2131493027;
+ // aapt resource value: 0x7f0d009d
+ public const int status_bar_latest_event_content = 2131558557;
- // aapt resource value: 0x7f0c0058
- public const int textSpacerNoButtons = 2131492952;
+ // aapt resource value: 0x7f0d00b9
+ public const int submenu_character = 2131558585;
- // aapt resource value: 0x7f0c00a1
- public const int time = 2131493025;
+ // aapt resource value: 0x7f0d00bd
+ public const int submenu_paragraph = 2131558589;
- // aapt resource value: 0x7f0c00af
- public const int time_current = 2131493039;
+ // aapt resource value: 0x7f0d0070
+ public const int submit_area = 2131558512;
- // aapt resource value: 0x7f0c00b1
- public const int time_duration = 2131493041;
+ // aapt resource value: 0x7f0d00b3
+ public const int subtitles = 2131558579;
- // aapt resource value: 0x7f0c004e
- public const int title = 2131492942;
+ // aapt resource value: 0x7f0d00b5
+ public const int surface_view = 2131558581;
- // aapt resource value: 0x7f0c0053
- public const int title_template = 2131492947;
+ // aapt resource value: 0x7f0d0019
+ public const int tabMode = 2131558425;
- // aapt resource value: 0x7f0c003d
- public const int top = 2131492925;
+ // aapt resource value: 0x7f0d000f
+ public const int terrain = 2131558415;
- // aapt resource value: 0x7f0c0052
- public const int topPanel = 2131492946;
+ // aapt resource value: 0x7f0d00a5
+ public const int text = 2131558565;
- // aapt resource value: 0x7f0c00a9
- public const int top_chrome = 2131493033;
+ // aapt resource value: 0x7f0d00a3
+ public const int text2 = 2131558563;
- // aapt resource value: 0x7f0c0078
- public const int touch_outside = 2131492984;
+ // aapt resource value: 0x7f0d0058
+ public const int textSpacerNoButtons = 2131558488;
- // aapt resource value: 0x7f0c0009
- public const int up = 2131492873;
+ // aapt resource value: 0x7f0d00a1
+ public const int time = 2131558561;
- // aapt resource value: 0x7f0c001f
- public const int useLogo = 2131492895;
+ // aapt resource value: 0x7f0d00af
+ public const int time_current = 2131558575;
- // aapt resource value: 0x7f0c00ab
- public const int video_title = 2131493035;
+ // aapt resource value: 0x7f0d00b1
+ public const int time_duration = 2131558577;
- // aapt resource value: 0x7f0c000a
- public const int view_offset_helper = 2131492874;
+ // aapt resource value: 0x7f0d004e
+ public const int title = 2131558478;
- // aapt resource value: 0x7f0c0093
- public const int volume_item_container = 2131493011;
+ // aapt resource value: 0x7f0d0053
+ public const int title_template = 2131558483;
- // aapt resource value: 0x7f0c0014
- public const int wide = 2131492884;
+ // aapt resource value: 0x7f0d003d
+ public const int top = 2131558461;
- // aapt resource value: 0x7f0c002d
- public const int withText = 2131492909;
+ // aapt resource value: 0x7f0d0052
+ public const int topPanel = 2131558482;
- // aapt resource value: 0x7f0c0020
- public const int wrap_content = 2131492896;
+ // aapt resource value: 0x7f0d00a9
+ public const int top_chrome = 2131558569;
+
+ // aapt resource value: 0x7f0d0078
+ public const int touch_outside = 2131558520;
+
+ // aapt resource value: 0x7f0d00bc
+ public const int underline = 2131558588;
+
+ // aapt resource value: 0x7f0d0009
+ public const int up = 2131558409;
+
+ // aapt resource value: 0x7f0d001f
+ public const int useLogo = 2131558431;
+
+ // aapt resource value: 0x7f0d00ab
+ public const int video_title = 2131558571;
+
+ // aapt resource value: 0x7f0d000a
+ public const int view_offset_helper = 2131558410;
+
+ // aapt resource value: 0x7f0d0093
+ public const int volume_item_container = 2131558547;
+
+ // aapt resource value: 0x7f0d0014
+ public const int wide = 2131558420;
+
+ // aapt resource value: 0x7f0d002d
+ public const int withText = 2131558445;
+
+ // aapt resource value: 0x7f0d0020
+ public const int wrap_content = 2131558432;
static Id()
{
@@ -5043,38 +5073,38 @@ namespace BookAStar.Droid
public partial class Integer
{
- // aapt resource value: 0x7f080005
- public const int abc_config_activityDefaultDur = 2131230725;
+ // aapt resource value: 0x7f090005
+ public const int abc_config_activityDefaultDur = 2131296261;
- // aapt resource value: 0x7f080006
- public const int abc_config_activityShortDur = 2131230726;
+ // aapt resource value: 0x7f090006
+ public const int abc_config_activityShortDur = 2131296262;
- // aapt resource value: 0x7f080004
- public const int abc_max_action_buttons = 2131230724;
+ // aapt resource value: 0x7f090004
+ public const int abc_max_action_buttons = 2131296260;
- // aapt resource value: 0x7f08000a
- public const int bottom_sheet_slide_duration = 2131230730;
+ // aapt resource value: 0x7f09000a
+ public const int bottom_sheet_slide_duration = 2131296266;
- // aapt resource value: 0x7f080007
- public const int cancel_button_image_alpha = 2131230727;
+ // aapt resource value: 0x7f090007
+ public const int cancel_button_image_alpha = 2131296263;
- // aapt resource value: 0x7f080009
- public const int design_snackbar_text_max_lines = 2131230729;
+ // aapt resource value: 0x7f090009
+ public const int design_snackbar_text_max_lines = 2131296265;
- // aapt resource value: 0x7f080000
- public const int google_play_services_version = 2131230720;
+ // aapt resource value: 0x7f090000
+ public const int google_play_services_version = 2131296256;
- // aapt resource value: 0x7f080001
- public const int mr_controller_volume_group_list_animation_duration_ms = 2131230721;
+ // aapt resource value: 0x7f090001
+ public const int mr_controller_volume_group_list_animation_duration_ms = 2131296257;
- // aapt resource value: 0x7f080002
- public const int mr_controller_volume_group_list_fade_in_duration_ms = 2131230722;
+ // aapt resource value: 0x7f090002
+ public const int mr_controller_volume_group_list_fade_in_duration_ms = 2131296258;
- // aapt resource value: 0x7f080003
- public const int mr_controller_volume_group_list_fade_out_duration_ms = 2131230723;
+ // aapt resource value: 0x7f090003
+ public const int mr_controller_volume_group_list_fade_out_duration_ms = 2131296259;
- // aapt resource value: 0x7f080008
- public const int status_bar_notification_info_maxnum = 2131230728;
+ // aapt resource value: 0x7f090008
+ public const int status_bar_notification_info_maxnum = 2131296264;
static Integer()
{
@@ -5319,11 +5349,27 @@ namespace BookAStar.Droid
}
}
+ public partial class Menu
+ {
+
+ // aapt resource value: 0x7f100000
+ public const int md_menu = 2131755008;
+
+ static Menu()
+ {
+ global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+ }
+
+ private Menu()
+ {
+ }
+ }
+
public partial class Raw
{
- // aapt resource value: 0x7f060000
- public const int gtm_analytics = 2131099648;
+ // aapt resource value: 0x7f070000
+ public const int gtm_analytics = 2131165184;
static Raw()
{
@@ -5338,320 +5384,359 @@ namespace BookAStar.Droid
public partial class String
{
- // aapt resource value: 0x7f07004c
- public const int ApplicationName = 2131165260;
+ // aapt resource value: 0x7f08004c
+ public const int ApplicationName = 2131230796;
- // aapt resource value: 0x7f070062
- public const int Date = 2131165282;
+ // aapt resource value: 0x7f080062
+ public const int Date = 2131230818;
- // aapt resource value: 0x7f070061
- public const int Description = 2131165281;
+ // aapt resource value: 0x7f080061
+ public const int Description = 2131230817;
- // aapt resource value: 0x7f07004b
- public const int Hello = 2131165259;
+ // aapt resource value: 0x7f08004b
+ public const int Hello = 2131230795;
- // aapt resource value: 0x7f070063
- public const int Location = 2131165283;
+ // aapt resource value: 0x7f080063
+ public const int Location = 2131230819;
- // aapt resource value: 0x7f070064
- public const int Pricing = 2131165284;
+ // aapt resource value: 0x7f080064
+ public const int Pricing = 2131230820;
- // aapt resource value: 0x7f07005f
- public const int Settings = 2131165279;
+ // aapt resource value: 0x7f08005f
+ public const int Settings = 2131230815;
- // aapt resource value: 0x7f070060
- public const int Title = 2131165280;
+ // aapt resource value: 0x7f080060
+ public const int Title = 2131230816;
- // aapt resource value: 0x7f070034
- public const int abc_action_bar_home_description = 2131165236;
+ // aapt resource value: 0x7f080034
+ public const int abc_action_bar_home_description = 2131230772;
- // aapt resource value: 0x7f070035
- public const int abc_action_bar_home_description_format = 2131165237;
+ // aapt resource value: 0x7f080035
+ public const int abc_action_bar_home_description_format = 2131230773;
- // aapt resource value: 0x7f070036
- public const int abc_action_bar_home_subtitle_description_format = 2131165238;
+ // aapt resource value: 0x7f080036
+ public const int abc_action_bar_home_subtitle_description_format = 2131230774;
- // aapt resource value: 0x7f070037
- public const int abc_action_bar_up_description = 2131165239;
+ // aapt resource value: 0x7f080037
+ public const int abc_action_bar_up_description = 2131230775;
- // aapt resource value: 0x7f070038
- public const int abc_action_menu_overflow_description = 2131165240;
+ // aapt resource value: 0x7f080038
+ public const int abc_action_menu_overflow_description = 2131230776;
- // aapt resource value: 0x7f070039
- public const int abc_action_mode_done = 2131165241;
+ // aapt resource value: 0x7f080039
+ public const int abc_action_mode_done = 2131230777;
- // aapt resource value: 0x7f07003a
- public const int abc_activity_chooser_view_see_all = 2131165242;
+ // aapt resource value: 0x7f08003a
+ public const int abc_activity_chooser_view_see_all = 2131230778;
- // aapt resource value: 0x7f07003b
- public const int abc_activitychooserview_choose_application = 2131165243;
+ // aapt resource value: 0x7f08003b
+ public const int abc_activitychooserview_choose_application = 2131230779;
- // aapt resource value: 0x7f07003c
- public const int abc_capital_off = 2131165244;
+ // aapt resource value: 0x7f08003c
+ public const int abc_capital_off = 2131230780;
- // aapt resource value: 0x7f07003d
- public const int abc_capital_on = 2131165245;
+ // aapt resource value: 0x7f08003d
+ public const int abc_capital_on = 2131230781;
- // aapt resource value: 0x7f07003e
- public const int abc_search_hint = 2131165246;
+ // aapt resource value: 0x7f08003e
+ public const int abc_search_hint = 2131230782;
- // aapt resource value: 0x7f07003f
- public const int abc_searchview_description_clear = 2131165247;
+ // aapt resource value: 0x7f08003f
+ public const int abc_searchview_description_clear = 2131230783;
- // aapt resource value: 0x7f070040
- public const int abc_searchview_description_query = 2131165248;
+ // aapt resource value: 0x7f080040
+ public const int abc_searchview_description_query = 2131230784;
- // aapt resource value: 0x7f070041
- public const int abc_searchview_description_search = 2131165249;
+ // aapt resource value: 0x7f080041
+ public const int abc_searchview_description_search = 2131230785;
- // aapt resource value: 0x7f070042
- public const int abc_searchview_description_submit = 2131165250;
+ // aapt resource value: 0x7f080042
+ public const int abc_searchview_description_submit = 2131230786;
- // aapt resource value: 0x7f070043
- public const int abc_searchview_description_voice = 2131165251;
+ // aapt resource value: 0x7f080043
+ public const int abc_searchview_description_voice = 2131230787;
- // aapt resource value: 0x7f070044
- public const int abc_shareactionprovider_share_with = 2131165252;
+ // aapt resource value: 0x7f080044
+ public const int abc_shareactionprovider_share_with = 2131230788;
- // aapt resource value: 0x7f070045
- public const int abc_shareactionprovider_share_with_application = 2131165253;
+ // aapt resource value: 0x7f080045
+ public const int abc_shareactionprovider_share_with_application = 2131230789;
- // aapt resource value: 0x7f070046
- public const int abc_toolbar_collapse_description = 2131165254;
+ // aapt resource value: 0x7f080046
+ public const int abc_toolbar_collapse_description = 2131230790;
- // aapt resource value: 0x7f070021
- public const int accept = 2131165217;
+ // aapt resource value: 0x7f080021
+ public const int accept = 2131230753;
- // aapt resource value: 0x7f07005a
- public const int app_name = 2131165274;
+ // aapt resource value: 0x7f08006a
+ public const int account_authenticator_label = 2131230826;
- // aapt resource value: 0x7f070048
- public const int appbar_scrolling_view_behavior = 2131165256;
+ // aapt resource value: 0x7f080074
+ public const int accounts = 2131230836;
- // aapt resource value: 0x7f070001
- public const int auth_google_play_services_client_facebook_display_name = 2131165185;
+ // aapt resource value: 0x7f08005a
+ public const int app_name = 2131230810;
- // aapt resource value: 0x7f070000
- public const int auth_google_play_services_client_google_display_name = 2131165184;
+ // aapt resource value: 0x7f080048
+ public const int appbar_scrolling_view_behavior = 2131230792;
+
+ // aapt resource value: 0x7f080001
+ public const int auth_google_play_services_client_facebook_display_name = 2131230721;
+
+ // aapt resource value: 0x7f080000
+ public const int auth_google_play_services_client_google_display_name = 2131230720;
+
+ // aapt resource value: 0x7f08006e
+ public const int bold = 2131230830;
+
+ // aapt resource value: 0x7f080075
+ public const int bookingstar_accounts_pref_screen_summary = 2131230837;
+
+ // aapt resource value: 0x7f080049
+ public const int bottom_sheet_behavior = 2131230793;
+
+ // aapt resource value: 0x7f08005e
+ public const int cancel = 2131230814;
+
+ // aapt resource value: 0x7f08006d
+ public const int character = 2131230829;
- // aapt resource value: 0x7f070049
- public const int bottom_sheet_behavior = 2131165257;
+ // aapt resource value: 0x7f08004a
+ public const int character_counter_pattern = 2131230794;
- // aapt resource value: 0x7f07005e
- public const int cancel = 2131165278;
+ // aapt resource value: 0x7f080018
+ public const int common_google_play_services_api_unavailable_text = 2131230744;
- // aapt resource value: 0x7f07004a
- public const int character_counter_pattern = 2131165258;
+ // aapt resource value: 0x7f08000a
+ public const int common_google_play_services_enable_button = 2131230730;
- // aapt resource value: 0x7f070018
- public const int common_google_play_services_api_unavailable_text = 2131165208;
+ // aapt resource value: 0x7f080009
+ public const int common_google_play_services_enable_text = 2131230729;
- // aapt resource value: 0x7f07000a
- public const int common_google_play_services_enable_button = 2131165194;
+ // aapt resource value: 0x7f080008
+ public const int common_google_play_services_enable_title = 2131230728;
- // aapt resource value: 0x7f070009
- public const int common_google_play_services_enable_text = 2131165193;
+ // aapt resource value: 0x7f080007
+ public const int common_google_play_services_install_button = 2131230727;
- // aapt resource value: 0x7f070008
- public const int common_google_play_services_enable_title = 2131165192;
+ // aapt resource value: 0x7f080005
+ public const int common_google_play_services_install_text_phone = 2131230725;
- // aapt resource value: 0x7f070007
- public const int common_google_play_services_install_button = 2131165191;
+ // aapt resource value: 0x7f080006
+ public const int common_google_play_services_install_text_tablet = 2131230726;
- // aapt resource value: 0x7f070005
- public const int common_google_play_services_install_text_phone = 2131165189;
+ // aapt resource value: 0x7f080004
+ public const int common_google_play_services_install_title = 2131230724;
+
+ // aapt resource value: 0x7f080013
+ public const int common_google_play_services_invalid_account_text = 2131230739;
- // aapt resource value: 0x7f070006
- public const int common_google_play_services_install_text_tablet = 2131165190;
+ // aapt resource value: 0x7f080012
+ public const int common_google_play_services_invalid_account_title = 2131230738;
- // aapt resource value: 0x7f070004
- public const int common_google_play_services_install_title = 2131165188;
+ // aapt resource value: 0x7f080011
+ public const int common_google_play_services_network_error_text = 2131230737;
- // aapt resource value: 0x7f070013
- public const int common_google_play_services_invalid_account_text = 2131165203;
+ // aapt resource value: 0x7f080010
+ public const int common_google_play_services_network_error_title = 2131230736;
- // aapt resource value: 0x7f070012
- public const int common_google_play_services_invalid_account_title = 2131165202;
+ // aapt resource value: 0x7f080003
+ public const int common_google_play_services_notification_ticker = 2131230723;
- // aapt resource value: 0x7f070011
- public const int common_google_play_services_network_error_text = 2131165201;
+ // aapt resource value: 0x7f08001c
+ public const int common_google_play_services_restricted_profile_text = 2131230748;
- // aapt resource value: 0x7f070010
- public const int common_google_play_services_network_error_title = 2131165200;
+ // aapt resource value: 0x7f08001b
+ public const int common_google_play_services_restricted_profile_title = 2131230747;
- // aapt resource value: 0x7f070003
- public const int common_google_play_services_notification_ticker = 2131165187;
+ // aapt resource value: 0x7f08001a
+ public const int common_google_play_services_sign_in_failed_text = 2131230746;
- // aapt resource value: 0x7f07001c
- public const int common_google_play_services_restricted_profile_text = 2131165212;
+ // aapt resource value: 0x7f080019
+ public const int common_google_play_services_sign_in_failed_title = 2131230745;
+
+ // aapt resource value: 0x7f080002
+ public const int common_google_play_services_unknown_issue = 2131230722;
- // aapt resource value: 0x7f07001b
- public const int common_google_play_services_restricted_profile_title = 2131165211;
+ // aapt resource value: 0x7f080015
+ public const int common_google_play_services_unsupported_text = 2131230741;
- // aapt resource value: 0x7f07001a
- public const int common_google_play_services_sign_in_failed_text = 2131165210;
+ // aapt resource value: 0x7f080014
+ public const int common_google_play_services_unsupported_title = 2131230740;
- // aapt resource value: 0x7f070019
- public const int common_google_play_services_sign_in_failed_title = 2131165209;
+ // aapt resource value: 0x7f080016
+ public const int common_google_play_services_update_button = 2131230742;
- // aapt resource value: 0x7f070002
- public const int common_google_play_services_unknown_issue = 2131165186;
+ // aapt resource value: 0x7f08000c
+ public const int common_google_play_services_update_text = 2131230732;
- // aapt resource value: 0x7f070015
- public const int common_google_play_services_unsupported_text = 2131165205;
+ // aapt resource value: 0x7f08000b
+ public const int common_google_play_services_update_title = 2131230731;
- // aapt resource value: 0x7f070014
- public const int common_google_play_services_unsupported_title = 2131165204;
+ // aapt resource value: 0x7f08000f
+ public const int common_google_play_services_updating_text = 2131230735;
- // aapt resource value: 0x7f070016
- public const int common_google_play_services_update_button = 2131165206;
+ // aapt resource value: 0x7f08000e
+ public const int common_google_play_services_updating_title = 2131230734;
- // aapt resource value: 0x7f07000c
- public const int common_google_play_services_update_text = 2131165196;
+ // aapt resource value: 0x7f08000d
+ public const int common_google_play_services_wear_update_text = 2131230733;
- // aapt resource value: 0x7f07000b
- public const int common_google_play_services_update_title = 2131165195;
+ // aapt resource value: 0x7f080017
+ public const int common_open_on_phone = 2131230743;
- // aapt resource value: 0x7f07000f
- public const int common_google_play_services_updating_text = 2131165199;
+ // aapt resource value: 0x7f08001d
+ public const int common_signin_button_text = 2131230749;
- // aapt resource value: 0x7f07000e
- public const int common_google_play_services_updating_title = 2131165198;
+ // aapt resource value: 0x7f08001e
+ public const int common_signin_button_text_long = 2131230750;
- // aapt resource value: 0x7f07000d
- public const int common_google_play_services_wear_update_text = 2131165197;
+ // aapt resource value: 0x7f08006b
+ public const int copy = 2131230827;
- // aapt resource value: 0x7f070017
- public const int common_open_on_phone = 2131165207;
+ // aapt resource value: 0x7f080024
+ public const int create_calendar_message = 2131230756;
- // aapt resource value: 0x7f07001d
- public const int common_signin_button_text = 2131165213;
+ // aapt resource value: 0x7f080023
+ public const int create_calendar_title = 2131230755;
- // aapt resource value: 0x7f07001e
- public const int common_signin_button_text_long = 2131165214;
+ // aapt resource value: 0x7f08004e
+ public const int day_name_format = 2131230798;
- // aapt resource value: 0x7f070024
- public const int create_calendar_message = 2131165220;
+ // aapt resource value: 0x7f080022
+ public const int decline = 2131230754;
- // aapt resource value: 0x7f070023
- public const int create_calendar_title = 2131165219;
+ // aapt resource value: 0x7f080051
+ public const int full_date_format = 2131230801;
- // aapt resource value: 0x7f07004e
- public const int day_name_format = 2131165262;
+ // aapt resource value: 0x7f080052
+ public const int fullscreen_button = 2131230802;
- // aapt resource value: 0x7f070022
- public const int decline = 2131165218;
+ // aapt resource value: 0x7f080068
+ public const int google_app_id = 2131230824;
- // aapt resource value: 0x7f070051
- public const int full_date_format = 2131165265;
+ // aapt resource value: 0x7f080072
+ public const int header1 = 2131230834;
- // aapt resource value: 0x7f070052
- public const int fullscreen_button = 2131165266;
+ // aapt resource value: 0x7f080073
+ public const int header2 = 2131230835;
- // aapt resource value: 0x7f070068
- public const int google_app_id = 2131165288;
+ // aapt resource value: 0x7f08004f
+ public const int invalid_date = 2131230799;
- // aapt resource value: 0x7f07004f
- public const int invalid_date = 2131165263;
+ // aapt resource value: 0x7f08006f
+ public const int italic = 2131230831;
- // aapt resource value: 0x7f07004d
- public const int library_name = 2131165261;
+ // aapt resource value: 0x7f08004d
+ public const int library_name = 2131230797;
- // aapt resource value: 0x7f070053
- public const int logo_image = 2131165267;
+ // aapt resource value: 0x7f080053
+ public const int logo_image = 2131230803;
- // aapt resource value: 0x7f070050
- public const int month_name_format = 2131165264;
+ // aapt resource value: 0x7f080050
+ public const int month_name_format = 2131230800;
- // aapt resource value: 0x7f070025
- public const int mr_button_content_description = 2131165221;
+ // aapt resource value: 0x7f080025
+ public const int mr_button_content_description = 2131230757;
- // aapt resource value: 0x7f070026
- public const int mr_chooser_searching = 2131165222;
+ // aapt resource value: 0x7f080026
+ public const int mr_chooser_searching = 2131230758;
- // aapt resource value: 0x7f070027
- public const int mr_chooser_title = 2131165223;
+ // aapt resource value: 0x7f080027
+ public const int mr_chooser_title = 2131230759;
- // aapt resource value: 0x7f070028
- public const int mr_controller_casting_screen = 2131165224;
+ // aapt resource value: 0x7f080028
+ public const int mr_controller_casting_screen = 2131230760;
- // aapt resource value: 0x7f070029
- public const int mr_controller_close_description = 2131165225;
+ // aapt resource value: 0x7f080029
+ public const int mr_controller_close_description = 2131230761;
- // aapt resource value: 0x7f07002a
- public const int mr_controller_collapse_group = 2131165226;
+ // aapt resource value: 0x7f08002a
+ public const int mr_controller_collapse_group = 2131230762;
- // aapt resource value: 0x7f07002b
- public const int mr_controller_disconnect = 2131165227;
+ // aapt resource value: 0x7f08002b
+ public const int mr_controller_disconnect = 2131230763;
- // aapt resource value: 0x7f07002c
- public const int mr_controller_expand_group = 2131165228;
+ // aapt resource value: 0x7f08002c
+ public const int mr_controller_expand_group = 2131230764;
- // aapt resource value: 0x7f07002d
- public const int mr_controller_no_info_available = 2131165229;
+ // aapt resource value: 0x7f08002d
+ public const int mr_controller_no_info_available = 2131230765;
- // aapt resource value: 0x7f07002e
- public const int mr_controller_no_media_selected = 2131165230;
+ // aapt resource value: 0x7f08002e
+ public const int mr_controller_no_media_selected = 2131230766;
- // aapt resource value: 0x7f07002f
- public const int mr_controller_pause = 2131165231;
+ // aapt resource value: 0x7f08002f
+ public const int mr_controller_pause = 2131230767;
- // aapt resource value: 0x7f070030
- public const int mr_controller_play = 2131165232;
+ // aapt resource value: 0x7f080030
+ public const int mr_controller_play = 2131230768;
- // aapt resource value: 0x7f070031
- public const int mr_controller_stop = 2131165233;
+ // aapt resource value: 0x7f080031
+ public const int mr_controller_stop = 2131230769;
- // aapt resource value: 0x7f070032
- public const int mr_system_route_name = 2131165234;
+ // aapt resource value: 0x7f080032
+ public const int mr_system_route_name = 2131230770;
- // aapt resource value: 0x7f070033
- public const int mr_user_route_category_name = 2131165235;
+ // aapt resource value: 0x7f080033
+ public const int mr_user_route_category_name = 2131230771;
- // aapt resource value: 0x7f070054
- public const int overflow = 2131165268;
+ // aapt resource value: 0x7f080054
+ public const int overflow = 2131230804;
- // aapt resource value: 0x7f070055
- public const int pause = 2131165269;
+ // aapt resource value: 0x7f080071
+ public const int paragraph = 2131230833;
- // aapt resource value: 0x7f070067
- public const int picture = 2131165287;
+ // aapt resource value: 0x7f08006c
+ public const int past = 2131230828;
- // aapt resource value: 0x7f070056
- public const int seekbar = 2131165270;
+ // aapt resource value: 0x7f080055
+ public const int pause = 2131230805;
- // aapt resource value: 0x7f070057
- public const int select_an_action = 2131165271;
+ // aapt resource value: 0x7f080067
+ public const int picture = 2131230823;
- // aapt resource value: 0x7f07005b
- public const int send_to_app_name = 2131165275;
+ // aapt resource value: 0x7f080069
+ public const int pref_screen_title = 2131230825;
- // aapt resource value: 0x7f070047
- public const int status_bar_notification_info_overflow = 2131165255;
+ // aapt resource value: 0x7f080056
+ public const int seekbar = 2131230806;
- // aapt resource value: 0x7f070020
- public const int store_picture_message = 2131165216;
+ // aapt resource value: 0x7f080057
+ public const int select_an_action = 2131230807;
- // aapt resource value: 0x7f07001f
- public const int store_picture_title = 2131165215;
+ // aapt resource value: 0x7f08005b
+ public const int send_to_app_name = 2131230811;
- // aapt resource value: 0x7f070058
- public const int time_current = 2131165272;
+ // aapt resource value: 0x7f080047
+ public const int status_bar_notification_info_overflow = 2131230791;
- // aapt resource value: 0x7f070059
- public const int time_duration = 2131165273;
+ // aapt resource value: 0x7f080020
+ public const int store_picture_message = 2131230752;
- // aapt resource value: 0x7f070065
- public const int url = 2131165285;
+ // aapt resource value: 0x7f08001f
+ public const int store_picture_title = 2131230751;
- // aapt resource value: 0x7f070066
- public const int url_hint = 2131165286;
+ // aapt resource value: 0x7f080058
+ public const int time_current = 2131230808;
- // aapt resource value: 0x7f07005d
- public const int yavscAccountTypeName = 2131165277;
+ // aapt resource value: 0x7f080059
+ public const int time_duration = 2131230809;
- // aapt resource value: 0x7f07005c
- public const int yavscIdentRemoved = 2131165276;
+ // aapt resource value: 0x7f080070
+ public const int underline = 2131230832;
+
+ // aapt resource value: 0x7f080065
+ public const int url = 2131230821;
+
+ // aapt resource value: 0x7f080066
+ public const int url_hint = 2131230822;
+
+ // aapt resource value: 0x7f08005d
+ public const int yavscAccountTypeName = 2131230813;
+
+ // aapt resource value: 0x7f08005c
+ public const int yavscIdentRemoved = 2131230812;
static String()
{
@@ -5666,1148 +5751,1148 @@ namespace BookAStar.Droid
public partial class Style
{
- // aapt resource value: 0x7f0a00a2
- public const int AlertDialog_AppCompat = 2131361954;
+ // aapt resource value: 0x7f0b00a2
+ public const int AlertDialog_AppCompat = 2131427490;
- // aapt resource value: 0x7f0a00a3
- public const int AlertDialog_AppCompat_Light = 2131361955;
+ // aapt resource value: 0x7f0b00a3
+ public const int AlertDialog_AppCompat_Light = 2131427491;
- // aapt resource value: 0x7f0a00a4
- public const int Animation_AppCompat_Dialog = 2131361956;
+ // aapt resource value: 0x7f0b00a4
+ public const int Animation_AppCompat_Dialog = 2131427492;
- // aapt resource value: 0x7f0a00a5
- public const int Animation_AppCompat_DropDownUp = 2131361957;
+ // aapt resource value: 0x7f0b00a5
+ public const int Animation_AppCompat_DropDownUp = 2131427493;
- // aapt resource value: 0x7f0a015b
- public const int Animation_Design_BottomSheetDialog = 2131362139;
+ // aapt resource value: 0x7f0b015b
+ public const int Animation_Design_BottomSheetDialog = 2131427675;
- // aapt resource value: 0x7f0a017c
- public const int AppCompatDialogStyle = 2131362172;
+ // aapt resource value: 0x7f0b017c
+ public const int AppCompatDialogStyle = 2131427708;
- // aapt resource value: 0x7f0a00a6
- public const int Base_AlertDialog_AppCompat = 2131361958;
+ // aapt resource value: 0x7f0b00a6
+ public const int Base_AlertDialog_AppCompat = 2131427494;
- // aapt resource value: 0x7f0a00a7
- public const int Base_AlertDialog_AppCompat_Light = 2131361959;
+ // aapt resource value: 0x7f0b00a7
+ public const int Base_AlertDialog_AppCompat_Light = 2131427495;
- // aapt resource value: 0x7f0a00a8
- public const int Base_Animation_AppCompat_Dialog = 2131361960;
+ // aapt resource value: 0x7f0b00a8
+ public const int Base_Animation_AppCompat_Dialog = 2131427496;
- // aapt resource value: 0x7f0a00a9
- public const int Base_Animation_AppCompat_DropDownUp = 2131361961;
+ // aapt resource value: 0x7f0b00a9
+ public const int Base_Animation_AppCompat_DropDownUp = 2131427497;
- // aapt resource value: 0x7f0a0019
- public const int Base_CardView = 2131361817;
+ // aapt resource value: 0x7f0b0019
+ public const int Base_CardView = 2131427353;
- // aapt resource value: 0x7f0a00aa
- public const int Base_DialogWindowTitle_AppCompat = 2131361962;
+ // aapt resource value: 0x7f0b00aa
+ public const int Base_DialogWindowTitle_AppCompat = 2131427498;
- // aapt resource value: 0x7f0a00ab
- public const int Base_DialogWindowTitleBackground_AppCompat = 2131361963;
+ // aapt resource value: 0x7f0b00ab
+ public const int Base_DialogWindowTitleBackground_AppCompat = 2131427499;
- // aapt resource value: 0x7f0a0052
- public const int Base_TextAppearance_AppCompat = 2131361874;
+ // aapt resource value: 0x7f0b0052
+ public const int Base_TextAppearance_AppCompat = 2131427410;
- // aapt resource value: 0x7f0a0053
- public const int Base_TextAppearance_AppCompat_Body1 = 2131361875;
+ // aapt resource value: 0x7f0b0053
+ public const int Base_TextAppearance_AppCompat_Body1 = 2131427411;
- // aapt resource value: 0x7f0a0054
- public const int Base_TextAppearance_AppCompat_Body2 = 2131361876;
+ // aapt resource value: 0x7f0b0054
+ public const int Base_TextAppearance_AppCompat_Body2 = 2131427412;
- // aapt resource value: 0x7f0a003c
- public const int Base_TextAppearance_AppCompat_Button = 2131361852;
+ // aapt resource value: 0x7f0b003c
+ public const int Base_TextAppearance_AppCompat_Button = 2131427388;
- // aapt resource value: 0x7f0a0055
- public const int Base_TextAppearance_AppCompat_Caption = 2131361877;
+ // aapt resource value: 0x7f0b0055
+ public const int Base_TextAppearance_AppCompat_Caption = 2131427413;
- // aapt resource value: 0x7f0a0056
- public const int Base_TextAppearance_AppCompat_Display1 = 2131361878;
+ // aapt resource value: 0x7f0b0056
+ public const int Base_TextAppearance_AppCompat_Display1 = 2131427414;
- // aapt resource value: 0x7f0a0057
- public const int Base_TextAppearance_AppCompat_Display2 = 2131361879;
+ // aapt resource value: 0x7f0b0057
+ public const int Base_TextAppearance_AppCompat_Display2 = 2131427415;
- // aapt resource value: 0x7f0a0058
- public const int Base_TextAppearance_AppCompat_Display3 = 2131361880;
+ // aapt resource value: 0x7f0b0058
+ public const int Base_TextAppearance_AppCompat_Display3 = 2131427416;
- // aapt resource value: 0x7f0a0059
- public const int Base_TextAppearance_AppCompat_Display4 = 2131361881;
+ // aapt resource value: 0x7f0b0059
+ public const int Base_TextAppearance_AppCompat_Display4 = 2131427417;
- // aapt resource value: 0x7f0a005a
- public const int Base_TextAppearance_AppCompat_Headline = 2131361882;
+ // aapt resource value: 0x7f0b005a
+ public const int Base_TextAppearance_AppCompat_Headline = 2131427418;
- // aapt resource value: 0x7f0a0027
- public const int Base_TextAppearance_AppCompat_Inverse = 2131361831;
+ // aapt resource value: 0x7f0b0027
+ public const int Base_TextAppearance_AppCompat_Inverse = 2131427367;
- // aapt resource value: 0x7f0a005b
- public const int Base_TextAppearance_AppCompat_Large = 2131361883;
+ // aapt resource value: 0x7f0b005b
+ public const int Base_TextAppearance_AppCompat_Large = 2131427419;
- // aapt resource value: 0x7f0a0028
- public const int Base_TextAppearance_AppCompat_Large_Inverse = 2131361832;
+ // aapt resource value: 0x7f0b0028
+ public const int Base_TextAppearance_AppCompat_Large_Inverse = 2131427368;
- // aapt resource value: 0x7f0a005c
- public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131361884;
+ // aapt resource value: 0x7f0b005c
+ public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131427420;
- // aapt resource value: 0x7f0a005d
- public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131361885;
+ // aapt resource value: 0x7f0b005d
+ public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131427421;
- // aapt resource value: 0x7f0a005e
- public const int Base_TextAppearance_AppCompat_Medium = 2131361886;
+ // aapt resource value: 0x7f0b005e
+ public const int Base_TextAppearance_AppCompat_Medium = 2131427422;
- // aapt resource value: 0x7f0a0029
- public const int Base_TextAppearance_AppCompat_Medium_Inverse = 2131361833;
+ // aapt resource value: 0x7f0b0029
+ public const int Base_TextAppearance_AppCompat_Medium_Inverse = 2131427369;
- // aapt resource value: 0x7f0a005f
- public const int Base_TextAppearance_AppCompat_Menu = 2131361887;
+ // aapt resource value: 0x7f0b005f
+ public const int Base_TextAppearance_AppCompat_Menu = 2131427423;
- // aapt resource value: 0x7f0a00ac
- public const int Base_TextAppearance_AppCompat_SearchResult = 2131361964;
+ // aapt resource value: 0x7f0b00ac
+ public const int Base_TextAppearance_AppCompat_SearchResult = 2131427500;
- // aapt resource value: 0x7f0a0060
- public const int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 2131361888;
+ // aapt resource value: 0x7f0b0060
+ public const int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 2131427424;
- // aapt resource value: 0x7f0a0061
- public const int Base_TextAppearance_AppCompat_SearchResult_Title = 2131361889;
+ // aapt resource value: 0x7f0b0061
+ public const int Base_TextAppearance_AppCompat_SearchResult_Title = 2131427425;
- // aapt resource value: 0x7f0a0062
- public const int Base_TextAppearance_AppCompat_Small = 2131361890;
+ // aapt resource value: 0x7f0b0062
+ public const int Base_TextAppearance_AppCompat_Small = 2131427426;
- // aapt resource value: 0x7f0a002a
- public const int Base_TextAppearance_AppCompat_Small_Inverse = 2131361834;
+ // aapt resource value: 0x7f0b002a
+ public const int Base_TextAppearance_AppCompat_Small_Inverse = 2131427370;
- // aapt resource value: 0x7f0a0063
- public const int Base_TextAppearance_AppCompat_Subhead = 2131361891;
+ // aapt resource value: 0x7f0b0063
+ public const int Base_TextAppearance_AppCompat_Subhead = 2131427427;
- // aapt resource value: 0x7f0a002b
- public const int Base_TextAppearance_AppCompat_Subhead_Inverse = 2131361835;
+ // aapt resource value: 0x7f0b002b
+ public const int Base_TextAppearance_AppCompat_Subhead_Inverse = 2131427371;
- // aapt resource value: 0x7f0a0064
- public const int Base_TextAppearance_AppCompat_Title = 2131361892;
+ // aapt resource value: 0x7f0b0064
+ public const int Base_TextAppearance_AppCompat_Title = 2131427428;
- // aapt resource value: 0x7f0a002c
- public const int Base_TextAppearance_AppCompat_Title_Inverse = 2131361836;
+ // aapt resource value: 0x7f0b002c
+ public const int Base_TextAppearance_AppCompat_Title_Inverse = 2131427372;
- // aapt resource value: 0x7f0a009b
- public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131361947;
+ // aapt resource value: 0x7f0b009b
+ public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131427483;
- // aapt resource value: 0x7f0a0065
- public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131361893;
+ // aapt resource value: 0x7f0b0065
+ public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131427429;
- // aapt resource value: 0x7f0a0066
- public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131361894;
+ // aapt resource value: 0x7f0b0066
+ public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131427430;
- // aapt resource value: 0x7f0a0067
- public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 2131361895;
+ // aapt resource value: 0x7f0b0067
+ public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 2131427431;
- // aapt resource value: 0x7f0a0068
- public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131361896;
+ // aapt resource value: 0x7f0b0068
+ public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131427432;
- // aapt resource value: 0x7f0a0069
- public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131361897;
+ // aapt resource value: 0x7f0b0069
+ public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131427433;
- // aapt resource value: 0x7f0a006a
- public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 2131361898;
+ // aapt resource value: 0x7f0b006a
+ public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 2131427434;
- // aapt resource value: 0x7f0a006b
- public const int Base_TextAppearance_AppCompat_Widget_Button = 2131361899;
+ // aapt resource value: 0x7f0b006b
+ public const int Base_TextAppearance_AppCompat_Widget_Button = 2131427435;
- // aapt resource value: 0x7f0a009c
- public const int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 2131361948;
+ // aapt resource value: 0x7f0b009c
+ public const int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 2131427484;
- // aapt resource value: 0x7f0a00ad
- public const int Base_TextAppearance_AppCompat_Widget_DropDownItem = 2131361965;
+ // aapt resource value: 0x7f0b00ad
+ public const int Base_TextAppearance_AppCompat_Widget_DropDownItem = 2131427501;
- // aapt resource value: 0x7f0a006c
- public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131361900;
+ // aapt resource value: 0x7f0b006c
+ public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131427436;
- // aapt resource value: 0x7f0a006d
- public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131361901;
+ // aapt resource value: 0x7f0b006d
+ public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131427437;
- // aapt resource value: 0x7f0a006e
- public const int Base_TextAppearance_AppCompat_Widget_Switch = 2131361902;
+ // aapt resource value: 0x7f0b006e
+ public const int Base_TextAppearance_AppCompat_Widget_Switch = 2131427438;
- // aapt resource value: 0x7f0a006f
- public const int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131361903;
+ // aapt resource value: 0x7f0b006f
+ public const int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131427439;
- // aapt resource value: 0x7f0a00ae
- public const int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131361966;
+ // aapt resource value: 0x7f0b00ae
+ public const int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131427502;
- // aapt resource value: 0x7f0a0070
- public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131361904;
+ // aapt resource value: 0x7f0b0070
+ public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131427440;
- // aapt resource value: 0x7f0a0071
- public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 2131361905;
+ // aapt resource value: 0x7f0b0071
+ public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 2131427441;
- // aapt resource value: 0x7f0a0072
- public const int Base_Theme_AppCompat = 2131361906;
+ // aapt resource value: 0x7f0b0072
+ public const int Base_Theme_AppCompat = 2131427442;
- // aapt resource value: 0x7f0a00af
- public const int Base_Theme_AppCompat_CompactMenu = 2131361967;
+ // aapt resource value: 0x7f0b00af
+ public const int Base_Theme_AppCompat_CompactMenu = 2131427503;
- // aapt resource value: 0x7f0a002d
- public const int Base_Theme_AppCompat_Dialog = 2131361837;
+ // aapt resource value: 0x7f0b002d
+ public const int Base_Theme_AppCompat_Dialog = 2131427373;
- // aapt resource value: 0x7f0a00b0
- public const int Base_Theme_AppCompat_Dialog_Alert = 2131361968;
+ // aapt resource value: 0x7f0b00b0
+ public const int Base_Theme_AppCompat_Dialog_Alert = 2131427504;
- // aapt resource value: 0x7f0a00b1
- public const int Base_Theme_AppCompat_Dialog_FixedSize = 2131361969;
+ // aapt resource value: 0x7f0b00b1
+ public const int Base_Theme_AppCompat_Dialog_FixedSize = 2131427505;
- // aapt resource value: 0x7f0a00b2
- public const int Base_Theme_AppCompat_Dialog_MinWidth = 2131361970;
+ // aapt resource value: 0x7f0b00b2
+ public const int Base_Theme_AppCompat_Dialog_MinWidth = 2131427506;
- // aapt resource value: 0x7f0a001d
- public const int Base_Theme_AppCompat_DialogWhenLarge = 2131361821;
+ // aapt resource value: 0x7f0b001d
+ public const int Base_Theme_AppCompat_DialogWhenLarge = 2131427357;
- // aapt resource value: 0x7f0a0073
- public const int Base_Theme_AppCompat_Light = 2131361907;
+ // aapt resource value: 0x7f0b0073
+ public const int Base_Theme_AppCompat_Light = 2131427443;
- // aapt resource value: 0x7f0a00b3
- public const int Base_Theme_AppCompat_Light_DarkActionBar = 2131361971;
+ // aapt resource value: 0x7f0b00b3
+ public const int Base_Theme_AppCompat_Light_DarkActionBar = 2131427507;
- // aapt resource value: 0x7f0a002e
- public const int Base_Theme_AppCompat_Light_Dialog = 2131361838;
+ // aapt resource value: 0x7f0b002e
+ public const int Base_Theme_AppCompat_Light_Dialog = 2131427374;
- // aapt resource value: 0x7f0a00b4
- public const int Base_Theme_AppCompat_Light_Dialog_Alert = 2131361972;
+ // aapt resource value: 0x7f0b00b4
+ public const int Base_Theme_AppCompat_Light_Dialog_Alert = 2131427508;
- // aapt resource value: 0x7f0a00b5
- public const int Base_Theme_AppCompat_Light_Dialog_FixedSize = 2131361973;
+ // aapt resource value: 0x7f0b00b5
+ public const int Base_Theme_AppCompat_Light_Dialog_FixedSize = 2131427509;
- // aapt resource value: 0x7f0a00b6
- public const int Base_Theme_AppCompat_Light_Dialog_MinWidth = 2131361974;
+ // aapt resource value: 0x7f0b00b6
+ public const int Base_Theme_AppCompat_Light_Dialog_MinWidth = 2131427510;
- // aapt resource value: 0x7f0a001e
- public const int Base_Theme_AppCompat_Light_DialogWhenLarge = 2131361822;
+ // aapt resource value: 0x7f0b001e
+ public const int Base_Theme_AppCompat_Light_DialogWhenLarge = 2131427358;
- // aapt resource value: 0x7f0a00b7
- public const int Base_ThemeOverlay_AppCompat = 2131361975;
+ // aapt resource value: 0x7f0b00b7
+ public const int Base_ThemeOverlay_AppCompat = 2131427511;
- // aapt resource value: 0x7f0a00b8
- public const int Base_ThemeOverlay_AppCompat_ActionBar = 2131361976;
+ // aapt resource value: 0x7f0b00b8
+ public const int Base_ThemeOverlay_AppCompat_ActionBar = 2131427512;
- // aapt resource value: 0x7f0a00b9
- public const int Base_ThemeOverlay_AppCompat_Dark = 2131361977;
+ // aapt resource value: 0x7f0b00b9
+ public const int Base_ThemeOverlay_AppCompat_Dark = 2131427513;
- // aapt resource value: 0x7f0a00ba
- public const int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 2131361978;
+ // aapt resource value: 0x7f0b00ba
+ public const int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 2131427514;
- // aapt resource value: 0x7f0a00bb
- public const int Base_ThemeOverlay_AppCompat_Light = 2131361979;
+ // aapt resource value: 0x7f0b00bb
+ public const int Base_ThemeOverlay_AppCompat_Light = 2131427515;
- // aapt resource value: 0x7f0a002f
- public const int Base_V11_Theme_AppCompat_Dialog = 2131361839;
+ // aapt resource value: 0x7f0b002f
+ public const int Base_V11_Theme_AppCompat_Dialog = 2131427375;
- // aapt resource value: 0x7f0a0030
- public const int Base_V11_Theme_AppCompat_Light_Dialog = 2131361840;
+ // aapt resource value: 0x7f0b0030
+ public const int Base_V11_Theme_AppCompat_Light_Dialog = 2131427376;
- // aapt resource value: 0x7f0a0038
- public const int Base_V12_Widget_AppCompat_AutoCompleteTextView = 2131361848;
+ // aapt resource value: 0x7f0b0038
+ public const int Base_V12_Widget_AppCompat_AutoCompleteTextView = 2131427384;
- // aapt resource value: 0x7f0a0039
- public const int Base_V12_Widget_AppCompat_EditText = 2131361849;
+ // aapt resource value: 0x7f0b0039
+ public const int Base_V12_Widget_AppCompat_EditText = 2131427385;
- // aapt resource value: 0x7f0a0074
- public const int Base_V21_Theme_AppCompat = 2131361908;
+ // aapt resource value: 0x7f0b0074
+ public const int Base_V21_Theme_AppCompat = 2131427444;
- // aapt resource value: 0x7f0a0075
- public const int Base_V21_Theme_AppCompat_Dialog = 2131361909;
+ // aapt resource value: 0x7f0b0075
+ public const int Base_V21_Theme_AppCompat_Dialog = 2131427445;
- // aapt resource value: 0x7f0a0076
- public const int Base_V21_Theme_AppCompat_Light = 2131361910;
+ // aapt resource value: 0x7f0b0076
+ public const int Base_V21_Theme_AppCompat_Light = 2131427446;
- // aapt resource value: 0x7f0a0077
- public const int Base_V21_Theme_AppCompat_Light_Dialog = 2131361911;
+ // aapt resource value: 0x7f0b0077
+ public const int Base_V21_Theme_AppCompat_Light_Dialog = 2131427447;
- // aapt resource value: 0x7f0a0099
- public const int Base_V22_Theme_AppCompat = 2131361945;
+ // aapt resource value: 0x7f0b0099
+ public const int Base_V22_Theme_AppCompat = 2131427481;
- // aapt resource value: 0x7f0a009a
- public const int Base_V22_Theme_AppCompat_Light = 2131361946;
+ // aapt resource value: 0x7f0b009a
+ public const int Base_V22_Theme_AppCompat_Light = 2131427482;
- // aapt resource value: 0x7f0a009d
- public const int Base_V23_Theme_AppCompat = 2131361949;
+ // aapt resource value: 0x7f0b009d
+ public const int Base_V23_Theme_AppCompat = 2131427485;
- // aapt resource value: 0x7f0a009e
- public const int Base_V23_Theme_AppCompat_Light = 2131361950;
+ // aapt resource value: 0x7f0b009e
+ public const int Base_V23_Theme_AppCompat_Light = 2131427486;
- // aapt resource value: 0x7f0a00bc
- public const int Base_V7_Theme_AppCompat = 2131361980;
+ // aapt resource value: 0x7f0b00bc
+ public const int Base_V7_Theme_AppCompat = 2131427516;
- // aapt resource value: 0x7f0a00bd
- public const int Base_V7_Theme_AppCompat_Dialog = 2131361981;
+ // aapt resource value: 0x7f0b00bd
+ public const int Base_V7_Theme_AppCompat_Dialog = 2131427517;
- // aapt resource value: 0x7f0a00be
- public const int Base_V7_Theme_AppCompat_Light = 2131361982;
+ // aapt resource value: 0x7f0b00be
+ public const int Base_V7_Theme_AppCompat_Light = 2131427518;
- // aapt resource value: 0x7f0a00bf
- public const int Base_V7_Theme_AppCompat_Light_Dialog = 2131361983;
+ // aapt resource value: 0x7f0b00bf
+ public const int Base_V7_Theme_AppCompat_Light_Dialog = 2131427519;
- // aapt resource value: 0x7f0a00c0
- public const int Base_V7_Widget_AppCompat_AutoCompleteTextView = 2131361984;
+ // aapt resource value: 0x7f0b00c0
+ public const int Base_V7_Widget_AppCompat_AutoCompleteTextView = 2131427520;
- // aapt resource value: 0x7f0a00c1
- public const int Base_V7_Widget_AppCompat_EditText = 2131361985;
+ // aapt resource value: 0x7f0b00c1
+ public const int Base_V7_Widget_AppCompat_EditText = 2131427521;
- // aapt resource value: 0x7f0a00c2
- public const int Base_Widget_AppCompat_ActionBar = 2131361986;
+ // aapt resource value: 0x7f0b00c2
+ public const int Base_Widget_AppCompat_ActionBar = 2131427522;
- // aapt resource value: 0x7f0a00c3
- public const int Base_Widget_AppCompat_ActionBar_Solid = 2131361987;
+ // aapt resource value: 0x7f0b00c3
+ public const int Base_Widget_AppCompat_ActionBar_Solid = 2131427523;
- // aapt resource value: 0x7f0a00c4
- public const int Base_Widget_AppCompat_ActionBar_TabBar = 2131361988;
+ // aapt resource value: 0x7f0b00c4
+ public const int Base_Widget_AppCompat_ActionBar_TabBar = 2131427524;
- // aapt resource value: 0x7f0a0078
- public const int Base_Widget_AppCompat_ActionBar_TabText = 2131361912;
+ // aapt resource value: 0x7f0b0078
+ public const int Base_Widget_AppCompat_ActionBar_TabText = 2131427448;
- // aapt resource value: 0x7f0a0079
- public const int Base_Widget_AppCompat_ActionBar_TabView = 2131361913;
+ // aapt resource value: 0x7f0b0079
+ public const int Base_Widget_AppCompat_ActionBar_TabView = 2131427449;
- // aapt resource value: 0x7f0a007a
- public const int Base_Widget_AppCompat_ActionButton = 2131361914;
+ // aapt resource value: 0x7f0b007a
+ public const int Base_Widget_AppCompat_ActionButton = 2131427450;
- // aapt resource value: 0x7f0a007b
- public const int Base_Widget_AppCompat_ActionButton_CloseMode = 2131361915;
+ // aapt resource value: 0x7f0b007b
+ public const int Base_Widget_AppCompat_ActionButton_CloseMode = 2131427451;
- // aapt resource value: 0x7f0a007c
- public const int Base_Widget_AppCompat_ActionButton_Overflow = 2131361916;
+ // aapt resource value: 0x7f0b007c
+ public const int Base_Widget_AppCompat_ActionButton_Overflow = 2131427452;
- // aapt resource value: 0x7f0a00c5
- public const int Base_Widget_AppCompat_ActionMode = 2131361989;
+ // aapt resource value: 0x7f0b00c5
+ public const int Base_Widget_AppCompat_ActionMode = 2131427525;
- // aapt resource value: 0x7f0a00c6
- public const int Base_Widget_AppCompat_ActivityChooserView = 2131361990;
+ // aapt resource value: 0x7f0b00c6
+ public const int Base_Widget_AppCompat_ActivityChooserView = 2131427526;
- // aapt resource value: 0x7f0a003a
- public const int Base_Widget_AppCompat_AutoCompleteTextView = 2131361850;
+ // aapt resource value: 0x7f0b003a
+ public const int Base_Widget_AppCompat_AutoCompleteTextView = 2131427386;
- // aapt resource value: 0x7f0a007d
- public const int Base_Widget_AppCompat_Button = 2131361917;
+ // aapt resource value: 0x7f0b007d
+ public const int Base_Widget_AppCompat_Button = 2131427453;
- // aapt resource value: 0x7f0a007e
- public const int Base_Widget_AppCompat_Button_Borderless = 2131361918;
+ // aapt resource value: 0x7f0b007e
+ public const int Base_Widget_AppCompat_Button_Borderless = 2131427454;
- // aapt resource value: 0x7f0a007f
- public const int Base_Widget_AppCompat_Button_Borderless_Colored = 2131361919;
+ // aapt resource value: 0x7f0b007f
+ public const int Base_Widget_AppCompat_Button_Borderless_Colored = 2131427455;
- // aapt resource value: 0x7f0a00c7
- public const int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131361991;
+ // aapt resource value: 0x7f0b00c7
+ public const int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131427527;
- // aapt resource value: 0x7f0a009f
- public const int Base_Widget_AppCompat_Button_Colored = 2131361951;
+ // aapt resource value: 0x7f0b009f
+ public const int Base_Widget_AppCompat_Button_Colored = 2131427487;
- // aapt resource value: 0x7f0a0080
- public const int Base_Widget_AppCompat_Button_Small = 2131361920;
+ // aapt resource value: 0x7f0b0080
+ public const int Base_Widget_AppCompat_Button_Small = 2131427456;
- // aapt resource value: 0x7f0a0081
- public const int Base_Widget_AppCompat_ButtonBar = 2131361921;
+ // aapt resource value: 0x7f0b0081
+ public const int Base_Widget_AppCompat_ButtonBar = 2131427457;
- // aapt resource value: 0x7f0a00c8
- public const int Base_Widget_AppCompat_ButtonBar_AlertDialog = 2131361992;
+ // aapt resource value: 0x7f0b00c8
+ public const int Base_Widget_AppCompat_ButtonBar_AlertDialog = 2131427528;
- // aapt resource value: 0x7f0a0082
- public const int Base_Widget_AppCompat_CompoundButton_CheckBox = 2131361922;
+ // aapt resource value: 0x7f0b0082
+ public const int Base_Widget_AppCompat_CompoundButton_CheckBox = 2131427458;
- // aapt resource value: 0x7f0a0083
- public const int Base_Widget_AppCompat_CompoundButton_RadioButton = 2131361923;
+ // aapt resource value: 0x7f0b0083
+ public const int Base_Widget_AppCompat_CompoundButton_RadioButton = 2131427459;
- // aapt resource value: 0x7f0a00c9
- public const int Base_Widget_AppCompat_CompoundButton_Switch = 2131361993;
+ // aapt resource value: 0x7f0b00c9
+ public const int Base_Widget_AppCompat_CompoundButton_Switch = 2131427529;
- // aapt resource value: 0x7f0a001c
- public const int Base_Widget_AppCompat_DrawerArrowToggle = 2131361820;
+ // aapt resource value: 0x7f0b001c
+ public const int Base_Widget_AppCompat_DrawerArrowToggle = 2131427356;
- // aapt resource value: 0x7f0a00ca
- public const int Base_Widget_AppCompat_DrawerArrowToggle_Common = 2131361994;
+ // aapt resource value: 0x7f0b00ca
+ public const int Base_Widget_AppCompat_DrawerArrowToggle_Common = 2131427530;
- // aapt resource value: 0x7f0a0084
- public const int Base_Widget_AppCompat_DropDownItem_Spinner = 2131361924;
+ // aapt resource value: 0x7f0b0084
+ public const int Base_Widget_AppCompat_DropDownItem_Spinner = 2131427460;
- // aapt resource value: 0x7f0a003b
- public const int Base_Widget_AppCompat_EditText = 2131361851;
+ // aapt resource value: 0x7f0b003b
+ public const int Base_Widget_AppCompat_EditText = 2131427387;
- // aapt resource value: 0x7f0a0085
- public const int Base_Widget_AppCompat_ImageButton = 2131361925;
+ // aapt resource value: 0x7f0b0085
+ public const int Base_Widget_AppCompat_ImageButton = 2131427461;
- // aapt resource value: 0x7f0a00cb
- public const int Base_Widget_AppCompat_Light_ActionBar = 2131361995;
+ // aapt resource value: 0x7f0b00cb
+ public const int Base_Widget_AppCompat_Light_ActionBar = 2131427531;
- // aapt resource value: 0x7f0a00cc
- public const int Base_Widget_AppCompat_Light_ActionBar_Solid = 2131361996;
+ // aapt resource value: 0x7f0b00cc
+ public const int Base_Widget_AppCompat_Light_ActionBar_Solid = 2131427532;
- // aapt resource value: 0x7f0a00cd
- public const int Base_Widget_AppCompat_Light_ActionBar_TabBar = 2131361997;
+ // aapt resource value: 0x7f0b00cd
+ public const int Base_Widget_AppCompat_Light_ActionBar_TabBar = 2131427533;
- // aapt resource value: 0x7f0a0086
- public const int Base_Widget_AppCompat_Light_ActionBar_TabText = 2131361926;
+ // aapt resource value: 0x7f0b0086
+ public const int Base_Widget_AppCompat_Light_ActionBar_TabText = 2131427462;
- // aapt resource value: 0x7f0a0087
- public const int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131361927;
+ // aapt resource value: 0x7f0b0087
+ public const int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131427463;
- // aapt resource value: 0x7f0a0088
- public const int Base_Widget_AppCompat_Light_ActionBar_TabView = 2131361928;
+ // aapt resource value: 0x7f0b0088
+ public const int Base_Widget_AppCompat_Light_ActionBar_TabView = 2131427464;
- // aapt resource value: 0x7f0a0089
- public const int Base_Widget_AppCompat_Light_PopupMenu = 2131361929;
+ // aapt resource value: 0x7f0b0089
+ public const int Base_Widget_AppCompat_Light_PopupMenu = 2131427465;
- // aapt resource value: 0x7f0a008a
- public const int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 2131361930;
+ // aapt resource value: 0x7f0b008a
+ public const int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 2131427466;
- // aapt resource value: 0x7f0a008b
- public const int Base_Widget_AppCompat_ListPopupWindow = 2131361931;
+ // aapt resource value: 0x7f0b008b
+ public const int Base_Widget_AppCompat_ListPopupWindow = 2131427467;
- // aapt resource value: 0x7f0a008c
- public const int Base_Widget_AppCompat_ListView = 2131361932;
+ // aapt resource value: 0x7f0b008c
+ public const int Base_Widget_AppCompat_ListView = 2131427468;
- // aapt resource value: 0x7f0a008d
- public const int Base_Widget_AppCompat_ListView_DropDown = 2131361933;
+ // aapt resource value: 0x7f0b008d
+ public const int Base_Widget_AppCompat_ListView_DropDown = 2131427469;
- // aapt resource value: 0x7f0a008e
- public const int Base_Widget_AppCompat_ListView_Menu = 2131361934;
+ // aapt resource value: 0x7f0b008e
+ public const int Base_Widget_AppCompat_ListView_Menu = 2131427470;
- // aapt resource value: 0x7f0a008f
- public const int Base_Widget_AppCompat_PopupMenu = 2131361935;
+ // aapt resource value: 0x7f0b008f
+ public const int Base_Widget_AppCompat_PopupMenu = 2131427471;
- // aapt resource value: 0x7f0a0090
- public const int Base_Widget_AppCompat_PopupMenu_Overflow = 2131361936;
+ // aapt resource value: 0x7f0b0090
+ public const int Base_Widget_AppCompat_PopupMenu_Overflow = 2131427472;
- // aapt resource value: 0x7f0a00ce
- public const int Base_Widget_AppCompat_PopupWindow = 2131361998;
+ // aapt resource value: 0x7f0b00ce
+ public const int Base_Widget_AppCompat_PopupWindow = 2131427534;
- // aapt resource value: 0x7f0a0031
- public const int Base_Widget_AppCompat_ProgressBar = 2131361841;
+ // aapt resource value: 0x7f0b0031
+ public const int Base_Widget_AppCompat_ProgressBar = 2131427377;
- // aapt resource value: 0x7f0a0032
- public const int Base_Widget_AppCompat_ProgressBar_Horizontal = 2131361842;
+ // aapt resource value: 0x7f0b0032
+ public const int Base_Widget_AppCompat_ProgressBar_Horizontal = 2131427378;
- // aapt resource value: 0x7f0a0091
- public const int Base_Widget_AppCompat_RatingBar = 2131361937;
+ // aapt resource value: 0x7f0b0091
+ public const int Base_Widget_AppCompat_RatingBar = 2131427473;
- // aapt resource value: 0x7f0a00a0
- public const int Base_Widget_AppCompat_RatingBar_Indicator = 2131361952;
+ // aapt resource value: 0x7f0b00a0
+ public const int Base_Widget_AppCompat_RatingBar_Indicator = 2131427488;
- // aapt resource value: 0x7f0a00a1
- public const int Base_Widget_AppCompat_RatingBar_Small = 2131361953;
+ // aapt resource value: 0x7f0b00a1
+ public const int Base_Widget_AppCompat_RatingBar_Small = 2131427489;
- // aapt resource value: 0x7f0a00cf
- public const int Base_Widget_AppCompat_SearchView = 2131361999;
+ // aapt resource value: 0x7f0b00cf
+ public const int Base_Widget_AppCompat_SearchView = 2131427535;
- // aapt resource value: 0x7f0a00d0
- public const int Base_Widget_AppCompat_SearchView_ActionBar = 2131362000;
+ // aapt resource value: 0x7f0b00d0
+ public const int Base_Widget_AppCompat_SearchView_ActionBar = 2131427536;
- // aapt resource value: 0x7f0a0092
- public const int Base_Widget_AppCompat_SeekBar = 2131361938;
+ // aapt resource value: 0x7f0b0092
+ public const int Base_Widget_AppCompat_SeekBar = 2131427474;
- // aapt resource value: 0x7f0a0093
- public const int Base_Widget_AppCompat_Spinner = 2131361939;
+ // aapt resource value: 0x7f0b0093
+ public const int Base_Widget_AppCompat_Spinner = 2131427475;
- // aapt resource value: 0x7f0a001f
- public const int Base_Widget_AppCompat_Spinner_Underlined = 2131361823;
+ // aapt resource value: 0x7f0b001f
+ public const int Base_Widget_AppCompat_Spinner_Underlined = 2131427359;
- // aapt resource value: 0x7f0a0094
- public const int Base_Widget_AppCompat_TextView_SpinnerItem = 2131361940;
+ // aapt resource value: 0x7f0b0094
+ public const int Base_Widget_AppCompat_TextView_SpinnerItem = 2131427476;
- // aapt resource value: 0x7f0a00d1
- public const int Base_Widget_AppCompat_Toolbar = 2131362001;
+ // aapt resource value: 0x7f0b00d1
+ public const int Base_Widget_AppCompat_Toolbar = 2131427537;
- // aapt resource value: 0x7f0a0095
- public const int Base_Widget_AppCompat_Toolbar_Button_Navigation = 2131361941;
+ // aapt resource value: 0x7f0b0095
+ public const int Base_Widget_AppCompat_Toolbar_Button_Navigation = 2131427477;
- // aapt resource value: 0x7f0a015c
- public const int Base_Widget_Design_TabLayout = 2131362140;
+ // aapt resource value: 0x7f0b015c
+ public const int Base_Widget_Design_TabLayout = 2131427676;
- // aapt resource value: 0x7f0a0174
- public const int CalendarCell = 2131362164;
+ // aapt resource value: 0x7f0b0174
+ public const int CalendarCell = 2131427700;
- // aapt resource value: 0x7f0a0176
- public const int CalendarCell_CalendarDate = 2131362166;
+ // aapt resource value: 0x7f0b0176
+ public const int CalendarCell_CalendarDate = 2131427702;
- // aapt resource value: 0x7f0a0175
- public const int CalendarCell_DayHeader = 2131362165;
+ // aapt resource value: 0x7f0b0175
+ public const int CalendarCell_DayHeader = 2131427701;
- // aapt resource value: 0x7f0a0173
- public const int CalendarTitle = 2131362163;
+ // aapt resource value: 0x7f0b0173
+ public const int CalendarTitle = 2131427699;
- // aapt resource value: 0x7f0a0018
- public const int CardView = 2131361816;
+ // aapt resource value: 0x7f0b0018
+ public const int CardView = 2131427352;
- // aapt resource value: 0x7f0a001a
- public const int CardView_Dark = 2131361818;
+ // aapt resource value: 0x7f0b001a
+ public const int CardView_Dark = 2131427354;
- // aapt resource value: 0x7f0a001b
- public const int CardView_Light = 2131361819;
+ // aapt resource value: 0x7f0b001b
+ public const int CardView_Light = 2131427355;
- // aapt resource value: 0x7f0a0177
- public const int DemoButton = 2131362167;
+ // aapt resource value: 0x7f0b0177
+ public const int DemoButton = 2131427703;
- // aapt resource value: 0x7f0a017a
- public const int MainTheme = 2131362170;
+ // aapt resource value: 0x7f0b017a
+ public const int MainTheme = 2131427706;
- // aapt resource value: 0x7f0a017b
- public const int MainTheme_Base = 2131362171;
+ // aapt resource value: 0x7f0b017b
+ public const int MainTheme_Base = 2131427707;
- // aapt resource value: 0x7f0a0033
- public const int Platform_AppCompat = 2131361843;
+ // aapt resource value: 0x7f0b0033
+ public const int Platform_AppCompat = 2131427379;
- // aapt resource value: 0x7f0a0034
- public const int Platform_AppCompat_Light = 2131361844;
+ // aapt resource value: 0x7f0b0034
+ public const int Platform_AppCompat_Light = 2131427380;
- // aapt resource value: 0x7f0a0096
- public const int Platform_ThemeOverlay_AppCompat = 2131361942;
+ // aapt resource value: 0x7f0b0096
+ public const int Platform_ThemeOverlay_AppCompat = 2131427478;
- // aapt resource value: 0x7f0a0097
- public const int Platform_ThemeOverlay_AppCompat_Dark = 2131361943;
+ // aapt resource value: 0x7f0b0097
+ public const int Platform_ThemeOverlay_AppCompat_Dark = 2131427479;
- // aapt resource value: 0x7f0a0098
- public const int Platform_ThemeOverlay_AppCompat_Light = 2131361944;
+ // aapt resource value: 0x7f0b0098
+ public const int Platform_ThemeOverlay_AppCompat_Light = 2131427480;
- // aapt resource value: 0x7f0a0035
- public const int Platform_V11_AppCompat = 2131361845;
+ // aapt resource value: 0x7f0b0035
+ public const int Platform_V11_AppCompat = 2131427381;
- // aapt resource value: 0x7f0a0036
- public const int Platform_V11_AppCompat_Light = 2131361846;
+ // aapt resource value: 0x7f0b0036
+ public const int Platform_V11_AppCompat_Light = 2131427382;
- // aapt resource value: 0x7f0a003d
- public const int Platform_V14_AppCompat = 2131361853;
+ // aapt resource value: 0x7f0b003d
+ public const int Platform_V14_AppCompat = 2131427389;
- // aapt resource value: 0x7f0a003e
- public const int Platform_V14_AppCompat_Light = 2131361854;
+ // aapt resource value: 0x7f0b003e
+ public const int Platform_V14_AppCompat_Light = 2131427390;
- // aapt resource value: 0x7f0a0037
- public const int Platform_Widget_AppCompat_Spinner = 2131361847;
+ // aapt resource value: 0x7f0b0037
+ public const int Platform_Widget_AppCompat_Spinner = 2131427383;
- // aapt resource value: 0x7f0a0178
- public const int PlayerTheme = 2131362168;
+ // aapt resource value: 0x7f0b0178
+ public const int PlayerTheme = 2131427704;
- // aapt resource value: 0x7f0a0179
- public const int RootTheme = 2131362169;
+ // aapt resource value: 0x7f0b0179
+ public const int RootTheme = 2131427705;
- // aapt resource value: 0x7f0a0044
- public const int RtlOverlay_DialogWindowTitle_AppCompat = 2131361860;
+ // aapt resource value: 0x7f0b0044
+ public const int RtlOverlay_DialogWindowTitle_AppCompat = 2131427396;
- // aapt resource value: 0x7f0a0045
- public const int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 2131361861;
+ // aapt resource value: 0x7f0b0045
+ public const int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 2131427397;
- // aapt resource value: 0x7f0a0046
- public const int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 2131361862;
+ // aapt resource value: 0x7f0b0046
+ public const int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 2131427398;
- // aapt resource value: 0x7f0a0047
- public const int RtlOverlay_Widget_AppCompat_PopupMenuItem = 2131361863;
+ // aapt resource value: 0x7f0b0047
+ public const int RtlOverlay_Widget_AppCompat_PopupMenuItem = 2131427399;
- // aapt resource value: 0x7f0a0048
- public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 2131361864;
+ // aapt resource value: 0x7f0b0048
+ public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 2131427400;
- // aapt resource value: 0x7f0a0049
- public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 2131361865;
+ // aapt resource value: 0x7f0b0049
+ public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 2131427401;
- // aapt resource value: 0x7f0a004a
- public const int RtlOverlay_Widget_AppCompat_Search_DropDown = 2131361866;
+ // aapt resource value: 0x7f0b004a
+ public const int RtlOverlay_Widget_AppCompat_Search_DropDown = 2131427402;
- // aapt resource value: 0x7f0a004b
- public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 2131361867;
+ // aapt resource value: 0x7f0b004b
+ public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 2131427403;
- // aapt resource value: 0x7f0a004c
- public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 2131361868;
+ // aapt resource value: 0x7f0b004c
+ public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 2131427404;
- // aapt resource value: 0x7f0a004d
- public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 2131361869;
+ // aapt resource value: 0x7f0b004d
+ public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 2131427405;
- // aapt resource value: 0x7f0a004e
- public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 2131361870;
+ // aapt resource value: 0x7f0b004e
+ public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 2131427406;
- // aapt resource value: 0x7f0a004f
- public const int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 2131361871;
+ // aapt resource value: 0x7f0b004f
+ public const int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 2131427407;
- // aapt resource value: 0x7f0a0050
- public const int RtlUnderlay_Widget_AppCompat_ActionButton = 2131361872;
+ // aapt resource value: 0x7f0b0050
+ public const int RtlUnderlay_Widget_AppCompat_ActionButton = 2131427408;
- // aapt resource value: 0x7f0a0051
- public const int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 2131361873;
+ // aapt resource value: 0x7f0b0051
+ public const int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 2131427409;
- // aapt resource value: 0x7f0a00d2
- public const int TextAppearance_AppCompat = 2131362002;
+ // aapt resource value: 0x7f0b00d2
+ public const int TextAppearance_AppCompat = 2131427538;
- // aapt resource value: 0x7f0a00d3
- public const int TextAppearance_AppCompat_Body1 = 2131362003;
+ // aapt resource value: 0x7f0b00d3
+ public const int TextAppearance_AppCompat_Body1 = 2131427539;
- // aapt resource value: 0x7f0a00d4
- public const int TextAppearance_AppCompat_Body2 = 2131362004;
+ // aapt resource value: 0x7f0b00d4
+ public const int TextAppearance_AppCompat_Body2 = 2131427540;
- // aapt resource value: 0x7f0a00d5
- public const int TextAppearance_AppCompat_Button = 2131362005;
+ // aapt resource value: 0x7f0b00d5
+ public const int TextAppearance_AppCompat_Button = 2131427541;
- // aapt resource value: 0x7f0a00d6
- public const int TextAppearance_AppCompat_Caption = 2131362006;
+ // aapt resource value: 0x7f0b00d6
+ public const int TextAppearance_AppCompat_Caption = 2131427542;
- // aapt resource value: 0x7f0a00d7
- public const int TextAppearance_AppCompat_Display1 = 2131362007;
+ // aapt resource value: 0x7f0b00d7
+ public const int TextAppearance_AppCompat_Display1 = 2131427543;
- // aapt resource value: 0x7f0a00d8
- public const int TextAppearance_AppCompat_Display2 = 2131362008;
+ // aapt resource value: 0x7f0b00d8
+ public const int TextAppearance_AppCompat_Display2 = 2131427544;
- // aapt resource value: 0x7f0a00d9
- public const int TextAppearance_AppCompat_Display3 = 2131362009;
+ // aapt resource value: 0x7f0b00d9
+ public const int TextAppearance_AppCompat_Display3 = 2131427545;
- // aapt resource value: 0x7f0a00da
- public const int TextAppearance_AppCompat_Display4 = 2131362010;
+ // aapt resource value: 0x7f0b00da
+ public const int TextAppearance_AppCompat_Display4 = 2131427546;
- // aapt resource value: 0x7f0a00db
- public const int TextAppearance_AppCompat_Headline = 2131362011;
+ // aapt resource value: 0x7f0b00db
+ public const int TextAppearance_AppCompat_Headline = 2131427547;
- // aapt resource value: 0x7f0a00dc
- public const int TextAppearance_AppCompat_Inverse = 2131362012;
+ // aapt resource value: 0x7f0b00dc
+ public const int TextAppearance_AppCompat_Inverse = 2131427548;
- // aapt resource value: 0x7f0a00dd
- public const int TextAppearance_AppCompat_Large = 2131362013;
+ // aapt resource value: 0x7f0b00dd
+ public const int TextAppearance_AppCompat_Large = 2131427549;
- // aapt resource value: 0x7f0a00de
- public const int TextAppearance_AppCompat_Large_Inverse = 2131362014;
+ // aapt resource value: 0x7f0b00de
+ public const int TextAppearance_AppCompat_Large_Inverse = 2131427550;
- // aapt resource value: 0x7f0a00df
- public const int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 2131362015;
+ // aapt resource value: 0x7f0b00df
+ public const int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 2131427551;
- // aapt resource value: 0x7f0a00e0
- public const int TextAppearance_AppCompat_Light_SearchResult_Title = 2131362016;
+ // aapt resource value: 0x7f0b00e0
+ public const int TextAppearance_AppCompat_Light_SearchResult_Title = 2131427552;
- // aapt resource value: 0x7f0a00e1
- public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131362017;
+ // aapt resource value: 0x7f0b00e1
+ public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131427553;
- // aapt resource value: 0x7f0a00e2
- public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131362018;
+ // aapt resource value: 0x7f0b00e2
+ public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131427554;
- // aapt resource value: 0x7f0a00e3
- public const int TextAppearance_AppCompat_Medium = 2131362019;
+ // aapt resource value: 0x7f0b00e3
+ public const int TextAppearance_AppCompat_Medium = 2131427555;
- // aapt resource value: 0x7f0a00e4
- public const int TextAppearance_AppCompat_Medium_Inverse = 2131362020;
+ // aapt resource value: 0x7f0b00e4
+ public const int TextAppearance_AppCompat_Medium_Inverse = 2131427556;
- // aapt resource value: 0x7f0a00e5
- public const int TextAppearance_AppCompat_Menu = 2131362021;
+ // aapt resource value: 0x7f0b00e5
+ public const int TextAppearance_AppCompat_Menu = 2131427557;
- // aapt resource value: 0x7f0a00e6
- public const int TextAppearance_AppCompat_SearchResult_Subtitle = 2131362022;
+ // aapt resource value: 0x7f0b00e6
+ public const int TextAppearance_AppCompat_SearchResult_Subtitle = 2131427558;
- // aapt resource value: 0x7f0a00e7
- public const int TextAppearance_AppCompat_SearchResult_Title = 2131362023;
+ // aapt resource value: 0x7f0b00e7
+ public const int TextAppearance_AppCompat_SearchResult_Title = 2131427559;
- // aapt resource value: 0x7f0a00e8
- public const int TextAppearance_AppCompat_Small = 2131362024;
+ // aapt resource value: 0x7f0b00e8
+ public const int TextAppearance_AppCompat_Small = 2131427560;
- // aapt resource value: 0x7f0a00e9
- public const int TextAppearance_AppCompat_Small_Inverse = 2131362025;
+ // aapt resource value: 0x7f0b00e9
+ public const int TextAppearance_AppCompat_Small_Inverse = 2131427561;
- // aapt resource value: 0x7f0a00ea
- public const int TextAppearance_AppCompat_Subhead = 2131362026;
+ // aapt resource value: 0x7f0b00ea
+ public const int TextAppearance_AppCompat_Subhead = 2131427562;
- // aapt resource value: 0x7f0a00eb
- public const int TextAppearance_AppCompat_Subhead_Inverse = 2131362027;
+ // aapt resource value: 0x7f0b00eb
+ public const int TextAppearance_AppCompat_Subhead_Inverse = 2131427563;
- // aapt resource value: 0x7f0a00ec
- public const int TextAppearance_AppCompat_Title = 2131362028;
+ // aapt resource value: 0x7f0b00ec
+ public const int TextAppearance_AppCompat_Title = 2131427564;
- // aapt resource value: 0x7f0a00ed
- public const int TextAppearance_AppCompat_Title_Inverse = 2131362029;
+ // aapt resource value: 0x7f0b00ed
+ public const int TextAppearance_AppCompat_Title_Inverse = 2131427565;
- // aapt resource value: 0x7f0a00ee
- public const int TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131362030;
+ // aapt resource value: 0x7f0b00ee
+ public const int TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131427566;
- // aapt resource value: 0x7f0a00ef
- public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131362031;
+ // aapt resource value: 0x7f0b00ef
+ public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131427567;
- // aapt resource value: 0x7f0a00f0
- public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131362032;
+ // aapt resource value: 0x7f0b00f0
+ public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131427568;
- // aapt resource value: 0x7f0a00f1
- public const int TextAppearance_AppCompat_Widget_ActionBar_Title = 2131362033;
+ // aapt resource value: 0x7f0b00f1
+ public const int TextAppearance_AppCompat_Widget_ActionBar_Title = 2131427569;
- // aapt resource value: 0x7f0a00f2
- public const int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131362034;
+ // aapt resource value: 0x7f0b00f2
+ public const int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131427570;
- // aapt resource value: 0x7f0a00f3
- public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131362035;
+ // aapt resource value: 0x7f0b00f3
+ public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131427571;
- // aapt resource value: 0x7f0a00f4
- public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 2131362036;
+ // aapt resource value: 0x7f0b00f4
+ public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 2131427572;
- // aapt resource value: 0x7f0a00f5
- public const int TextAppearance_AppCompat_Widget_ActionMode_Title = 2131362037;
+ // aapt resource value: 0x7f0b00f5
+ public const int TextAppearance_AppCompat_Widget_ActionMode_Title = 2131427573;
- // aapt resource value: 0x7f0a00f6
- public const int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 2131362038;
+ // aapt resource value: 0x7f0b00f6
+ public const int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 2131427574;
- // aapt resource value: 0x7f0a00f7
- public const int TextAppearance_AppCompat_Widget_Button = 2131362039;
+ // aapt resource value: 0x7f0b00f7
+ public const int TextAppearance_AppCompat_Widget_Button = 2131427575;
- // aapt resource value: 0x7f0a00f8
- public const int TextAppearance_AppCompat_Widget_Button_Inverse = 2131362040;
+ // aapt resource value: 0x7f0b00f8
+ public const int TextAppearance_AppCompat_Widget_Button_Inverse = 2131427576;
- // aapt resource value: 0x7f0a00f9
- public const int TextAppearance_AppCompat_Widget_DropDownItem = 2131362041;
+ // aapt resource value: 0x7f0b00f9
+ public const int TextAppearance_AppCompat_Widget_DropDownItem = 2131427577;
- // aapt resource value: 0x7f0a00fa
- public const int TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131362042;
+ // aapt resource value: 0x7f0b00fa
+ public const int TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131427578;
- // aapt resource value: 0x7f0a00fb
- public const int TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131362043;
+ // aapt resource value: 0x7f0b00fb
+ public const int TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131427579;
- // aapt resource value: 0x7f0a00fc
- public const int TextAppearance_AppCompat_Widget_Switch = 2131362044;
+ // aapt resource value: 0x7f0b00fc
+ public const int TextAppearance_AppCompat_Widget_Switch = 2131427580;
- // aapt resource value: 0x7f0a00fd
- public const int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131362045;
+ // aapt resource value: 0x7f0b00fd
+ public const int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131427581;
- // aapt resource value: 0x7f0a015d
- public const int TextAppearance_Design_CollapsingToolbar_Expanded = 2131362141;
+ // aapt resource value: 0x7f0b015d
+ public const int TextAppearance_Design_CollapsingToolbar_Expanded = 2131427677;
- // aapt resource value: 0x7f0a015e
- public const int TextAppearance_Design_Counter = 2131362142;
+ // aapt resource value: 0x7f0b015e
+ public const int TextAppearance_Design_Counter = 2131427678;
- // aapt resource value: 0x7f0a015f
- public const int TextAppearance_Design_Counter_Overflow = 2131362143;
+ // aapt resource value: 0x7f0b015f
+ public const int TextAppearance_Design_Counter_Overflow = 2131427679;
- // aapt resource value: 0x7f0a0160
- public const int TextAppearance_Design_Error = 2131362144;
+ // aapt resource value: 0x7f0b0160
+ public const int TextAppearance_Design_Error = 2131427680;
- // aapt resource value: 0x7f0a0161
- public const int TextAppearance_Design_Hint = 2131362145;
+ // aapt resource value: 0x7f0b0161
+ public const int TextAppearance_Design_Hint = 2131427681;
- // aapt resource value: 0x7f0a0162
- public const int TextAppearance_Design_Snackbar_Message = 2131362146;
+ // aapt resource value: 0x7f0b0162
+ public const int TextAppearance_Design_Snackbar_Message = 2131427682;
- // aapt resource value: 0x7f0a0163
- public const int TextAppearance_Design_Tab = 2131362147;
+ // aapt resource value: 0x7f0b0163
+ public const int TextAppearance_Design_Tab = 2131427683;
- // aapt resource value: 0x7f0a003f
- public const int TextAppearance_StatusBar_EventContent = 2131361855;
+ // aapt resource value: 0x7f0b003f
+ public const int TextAppearance_StatusBar_EventContent = 2131427391;
- // aapt resource value: 0x7f0a0040
- public const int TextAppearance_StatusBar_EventContent_Info = 2131361856;
+ // aapt resource value: 0x7f0b0040
+ public const int TextAppearance_StatusBar_EventContent_Info = 2131427392;
- // aapt resource value: 0x7f0a0041
- public const int TextAppearance_StatusBar_EventContent_Line2 = 2131361857;
+ // aapt resource value: 0x7f0b0041
+ public const int TextAppearance_StatusBar_EventContent_Line2 = 2131427393;
- // aapt resource value: 0x7f0a0042
- public const int TextAppearance_StatusBar_EventContent_Time = 2131361858;
+ // aapt resource value: 0x7f0b0042
+ public const int TextAppearance_StatusBar_EventContent_Time = 2131427394;
- // aapt resource value: 0x7f0a0043
- public const int TextAppearance_StatusBar_EventContent_Title = 2131361859;
+ // aapt resource value: 0x7f0b0043
+ public const int TextAppearance_StatusBar_EventContent_Title = 2131427395;
- // aapt resource value: 0x7f0a00fe
- public const int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131362046;
+ // aapt resource value: 0x7f0b00fe
+ public const int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131427582;
- // aapt resource value: 0x7f0a00ff
- public const int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131362047;
+ // aapt resource value: 0x7f0b00ff
+ public const int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131427583;
- // aapt resource value: 0x7f0a0100
- public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131362048;
+ // aapt resource value: 0x7f0b0100
+ public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131427584;
- // aapt resource value: 0x7f0a0101
- public const int Theme_AppCompat = 2131362049;
+ // aapt resource value: 0x7f0b0101
+ public const int Theme_AppCompat = 2131427585;
- // aapt resource value: 0x7f0a0102
- public const int Theme_AppCompat_CompactMenu = 2131362050;
+ // aapt resource value: 0x7f0b0102
+ public const int Theme_AppCompat_CompactMenu = 2131427586;
- // aapt resource value: 0x7f0a0020
- public const int Theme_AppCompat_DayNight = 2131361824;
+ // aapt resource value: 0x7f0b0020
+ public const int Theme_AppCompat_DayNight = 2131427360;
- // aapt resource value: 0x7f0a0021
- public const int Theme_AppCompat_DayNight_DarkActionBar = 2131361825;
+ // aapt resource value: 0x7f0b0021
+ public const int Theme_AppCompat_DayNight_DarkActionBar = 2131427361;
- // aapt resource value: 0x7f0a0022
- public const int Theme_AppCompat_DayNight_Dialog = 2131361826;
+ // aapt resource value: 0x7f0b0022
+ public const int Theme_AppCompat_DayNight_Dialog = 2131427362;
- // aapt resource value: 0x7f0a0023
- public const int Theme_AppCompat_DayNight_Dialog_Alert = 2131361827;
+ // aapt resource value: 0x7f0b0023
+ public const int Theme_AppCompat_DayNight_Dialog_Alert = 2131427363;
- // aapt resource value: 0x7f0a0024
- public const int Theme_AppCompat_DayNight_Dialog_MinWidth = 2131361828;
+ // aapt resource value: 0x7f0b0024
+ public const int Theme_AppCompat_DayNight_Dialog_MinWidth = 2131427364;
- // aapt resource value: 0x7f0a0025
- public const int Theme_AppCompat_DayNight_DialogWhenLarge = 2131361829;
+ // aapt resource value: 0x7f0b0025
+ public const int Theme_AppCompat_DayNight_DialogWhenLarge = 2131427365;
- // aapt resource value: 0x7f0a0026
- public const int Theme_AppCompat_DayNight_NoActionBar = 2131361830;
+ // aapt resource value: 0x7f0b0026
+ public const int Theme_AppCompat_DayNight_NoActionBar = 2131427366;
- // aapt resource value: 0x7f0a0103
- public const int Theme_AppCompat_Dialog = 2131362051;
+ // aapt resource value: 0x7f0b0103
+ public const int Theme_AppCompat_Dialog = 2131427587;
- // aapt resource value: 0x7f0a0104
- public const int Theme_AppCompat_Dialog_Alert = 2131362052;
+ // aapt resource value: 0x7f0b0104
+ public const int Theme_AppCompat_Dialog_Alert = 2131427588;
- // aapt resource value: 0x7f0a0105
- public const int Theme_AppCompat_Dialog_MinWidth = 2131362053;
+ // aapt resource value: 0x7f0b0105
+ public const int Theme_AppCompat_Dialog_MinWidth = 2131427589;
- // aapt resource value: 0x7f0a0106
- public const int Theme_AppCompat_DialogWhenLarge = 2131362054;
+ // aapt resource value: 0x7f0b0106
+ public const int Theme_AppCompat_DialogWhenLarge = 2131427590;
- // aapt resource value: 0x7f0a0107
- public const int Theme_AppCompat_Light = 2131362055;
+ // aapt resource value: 0x7f0b0107
+ public const int Theme_AppCompat_Light = 2131427591;
- // aapt resource value: 0x7f0a0108
- public const int Theme_AppCompat_Light_DarkActionBar = 2131362056;
+ // aapt resource value: 0x7f0b0108
+ public const int Theme_AppCompat_Light_DarkActionBar = 2131427592;
- // aapt resource value: 0x7f0a0109
- public const int Theme_AppCompat_Light_Dialog = 2131362057;
+ // aapt resource value: 0x7f0b0109
+ public const int Theme_AppCompat_Light_Dialog = 2131427593;
- // aapt resource value: 0x7f0a010a
- public const int Theme_AppCompat_Light_Dialog_Alert = 2131362058;
+ // aapt resource value: 0x7f0b010a
+ public const int Theme_AppCompat_Light_Dialog_Alert = 2131427594;
- // aapt resource value: 0x7f0a010b
- public const int Theme_AppCompat_Light_Dialog_MinWidth = 2131362059;
+ // aapt resource value: 0x7f0b010b
+ public const int Theme_AppCompat_Light_Dialog_MinWidth = 2131427595;
- // aapt resource value: 0x7f0a010c
- public const int Theme_AppCompat_Light_DialogWhenLarge = 2131362060;
+ // aapt resource value: 0x7f0b010c
+ public const int Theme_AppCompat_Light_DialogWhenLarge = 2131427596;
- // aapt resource value: 0x7f0a010d
- public const int Theme_AppCompat_Light_NoActionBar = 2131362061;
+ // aapt resource value: 0x7f0b010d
+ public const int Theme_AppCompat_Light_NoActionBar = 2131427597;
- // aapt resource value: 0x7f0a010e
- public const int Theme_AppCompat_NoActionBar = 2131362062;
+ // aapt resource value: 0x7f0b010e
+ public const int Theme_AppCompat_NoActionBar = 2131427598;
- // aapt resource value: 0x7f0a0164
- public const int Theme_Design = 2131362148;
+ // aapt resource value: 0x7f0b0164
+ public const int Theme_Design = 2131427684;
- // aapt resource value: 0x7f0a0165
- public const int Theme_Design_BottomSheetDialog = 2131362149;
+ // aapt resource value: 0x7f0b0165
+ public const int Theme_Design_BottomSheetDialog = 2131427685;
- // aapt resource value: 0x7f0a0166
- public const int Theme_Design_Light = 2131362150;
+ // aapt resource value: 0x7f0b0166
+ public const int Theme_Design_Light = 2131427686;
- // aapt resource value: 0x7f0a0167
- public const int Theme_Design_Light_BottomSheetDialog = 2131362151;
+ // aapt resource value: 0x7f0b0167
+ public const int Theme_Design_Light_BottomSheetDialog = 2131427687;
- // aapt resource value: 0x7f0a0168
- public const int Theme_Design_Light_NoActionBar = 2131362152;
+ // aapt resource value: 0x7f0b0168
+ public const int Theme_Design_Light_NoActionBar = 2131427688;
- // aapt resource value: 0x7f0a0169
- public const int Theme_Design_NoActionBar = 2131362153;
+ // aapt resource value: 0x7f0b0169
+ public const int Theme_Design_NoActionBar = 2131427689;
- // aapt resource value: 0x7f0a0000
- public const int Theme_IAPTheme = 2131361792;
+ // aapt resource value: 0x7f0b0000
+ public const int Theme_IAPTheme = 2131427328;
- // aapt resource value: 0x7f0a0001
- public const int Theme_MediaRouter = 2131361793;
+ // aapt resource value: 0x7f0b0001
+ public const int Theme_MediaRouter = 2131427329;
- // aapt resource value: 0x7f0a0002
- public const int Theme_MediaRouter_Light = 2131361794;
+ // aapt resource value: 0x7f0b0002
+ public const int Theme_MediaRouter_Light = 2131427330;
- // aapt resource value: 0x7f0a0003
- public const int Theme_MediaRouter_Light_DarkControlPanel = 2131361795;
+ // aapt resource value: 0x7f0b0003
+ public const int Theme_MediaRouter_Light_DarkControlPanel = 2131427331;
- // aapt resource value: 0x7f0a0004
- public const int Theme_MediaRouter_LightControlPanel = 2131361796;
+ // aapt resource value: 0x7f0b0004
+ public const int Theme_MediaRouter_LightControlPanel = 2131427332;
- // aapt resource value: 0x7f0a010f
- public const int ThemeOverlay_AppCompat = 2131362063;
+ // aapt resource value: 0x7f0b010f
+ public const int ThemeOverlay_AppCompat = 2131427599;
- // aapt resource value: 0x7f0a0110
- public const int ThemeOverlay_AppCompat_ActionBar = 2131362064;
+ // aapt resource value: 0x7f0b0110
+ public const int ThemeOverlay_AppCompat_ActionBar = 2131427600;
- // aapt resource value: 0x7f0a0111
- public const int ThemeOverlay_AppCompat_Dark = 2131362065;
+ // aapt resource value: 0x7f0b0111
+ public const int ThemeOverlay_AppCompat_Dark = 2131427601;
- // aapt resource value: 0x7f0a0112
- public const int ThemeOverlay_AppCompat_Dark_ActionBar = 2131362066;
+ // aapt resource value: 0x7f0b0112
+ public const int ThemeOverlay_AppCompat_Dark_ActionBar = 2131427602;
- // aapt resource value: 0x7f0a0113
- public const int ThemeOverlay_AppCompat_Light = 2131362067;
+ // aapt resource value: 0x7f0b0113
+ public const int ThemeOverlay_AppCompat_Light = 2131427603;
- // aapt resource value: 0x7f0a0114
- public const int Widget_AppCompat_ActionBar = 2131362068;
+ // aapt resource value: 0x7f0b0114
+ public const int Widget_AppCompat_ActionBar = 2131427604;
- // aapt resource value: 0x7f0a0115
- public const int Widget_AppCompat_ActionBar_Solid = 2131362069;
+ // aapt resource value: 0x7f0b0115
+ public const int Widget_AppCompat_ActionBar_Solid = 2131427605;
- // aapt resource value: 0x7f0a0116
- public const int Widget_AppCompat_ActionBar_TabBar = 2131362070;
+ // aapt resource value: 0x7f0b0116
+ public const int Widget_AppCompat_ActionBar_TabBar = 2131427606;
- // aapt resource value: 0x7f0a0117
- public const int Widget_AppCompat_ActionBar_TabText = 2131362071;
+ // aapt resource value: 0x7f0b0117
+ public const int Widget_AppCompat_ActionBar_TabText = 2131427607;
- // aapt resource value: 0x7f0a0118
- public const int Widget_AppCompat_ActionBar_TabView = 2131362072;
+ // aapt resource value: 0x7f0b0118
+ public const int Widget_AppCompat_ActionBar_TabView = 2131427608;
- // aapt resource value: 0x7f0a0119
- public const int Widget_AppCompat_ActionButton = 2131362073;
+ // aapt resource value: 0x7f0b0119
+ public const int Widget_AppCompat_ActionButton = 2131427609;
- // aapt resource value: 0x7f0a011a
- public const int Widget_AppCompat_ActionButton_CloseMode = 2131362074;
+ // aapt resource value: 0x7f0b011a
+ public const int Widget_AppCompat_ActionButton_CloseMode = 2131427610;
- // aapt resource value: 0x7f0a011b
- public const int Widget_AppCompat_ActionButton_Overflow = 2131362075;
+ // aapt resource value: 0x7f0b011b
+ public const int Widget_AppCompat_ActionButton_Overflow = 2131427611;
- // aapt resource value: 0x7f0a011c
- public const int Widget_AppCompat_ActionMode = 2131362076;
+ // aapt resource value: 0x7f0b011c
+ public const int Widget_AppCompat_ActionMode = 2131427612;
- // aapt resource value: 0x7f0a011d
- public const int Widget_AppCompat_ActivityChooserView = 2131362077;
+ // aapt resource value: 0x7f0b011d
+ public const int Widget_AppCompat_ActivityChooserView = 2131427613;
- // aapt resource value: 0x7f0a011e
- public const int Widget_AppCompat_AutoCompleteTextView = 2131362078;
+ // aapt resource value: 0x7f0b011e
+ public const int Widget_AppCompat_AutoCompleteTextView = 2131427614;
- // aapt resource value: 0x7f0a011f
- public const int Widget_AppCompat_Button = 2131362079;
+ // aapt resource value: 0x7f0b011f
+ public const int Widget_AppCompat_Button = 2131427615;
- // aapt resource value: 0x7f0a0120
- public const int Widget_AppCompat_Button_Borderless = 2131362080;
+ // aapt resource value: 0x7f0b0120
+ public const int Widget_AppCompat_Button_Borderless = 2131427616;
- // aapt resource value: 0x7f0a0121
- public const int Widget_AppCompat_Button_Borderless_Colored = 2131362081;
+ // aapt resource value: 0x7f0b0121
+ public const int Widget_AppCompat_Button_Borderless_Colored = 2131427617;
- // aapt resource value: 0x7f0a0122
- public const int Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131362082;
+ // aapt resource value: 0x7f0b0122
+ public const int Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131427618;
- // aapt resource value: 0x7f0a0123
- public const int Widget_AppCompat_Button_Colored = 2131362083;
+ // aapt resource value: 0x7f0b0123
+ public const int Widget_AppCompat_Button_Colored = 2131427619;
- // aapt resource value: 0x7f0a0124
- public const int Widget_AppCompat_Button_Small = 2131362084;
+ // aapt resource value: 0x7f0b0124
+ public const int Widget_AppCompat_Button_Small = 2131427620;
- // aapt resource value: 0x7f0a0125
- public const int Widget_AppCompat_ButtonBar = 2131362085;
+ // aapt resource value: 0x7f0b0125
+ public const int Widget_AppCompat_ButtonBar = 2131427621;
- // aapt resource value: 0x7f0a0126
- public const int Widget_AppCompat_ButtonBar_AlertDialog = 2131362086;
+ // aapt resource value: 0x7f0b0126
+ public const int Widget_AppCompat_ButtonBar_AlertDialog = 2131427622;
- // aapt resource value: 0x7f0a0127
- public const int Widget_AppCompat_CompoundButton_CheckBox = 2131362087;
+ // aapt resource value: 0x7f0b0127
+ public const int Widget_AppCompat_CompoundButton_CheckBox = 2131427623;
- // aapt resource value: 0x7f0a0128
- public const int Widget_AppCompat_CompoundButton_RadioButton = 2131362088;
+ // aapt resource value: 0x7f0b0128
+ public const int Widget_AppCompat_CompoundButton_RadioButton = 2131427624;
- // aapt resource value: 0x7f0a0129
- public const int Widget_AppCompat_CompoundButton_Switch = 2131362089;
+ // aapt resource value: 0x7f0b0129
+ public const int Widget_AppCompat_CompoundButton_Switch = 2131427625;
- // aapt resource value: 0x7f0a012a
- public const int Widget_AppCompat_DrawerArrowToggle = 2131362090;
+ // aapt resource value: 0x7f0b012a
+ public const int Widget_AppCompat_DrawerArrowToggle = 2131427626;
- // aapt resource value: 0x7f0a012b
- public const int Widget_AppCompat_DropDownItem_Spinner = 2131362091;
+ // aapt resource value: 0x7f0b012b
+ public const int Widget_AppCompat_DropDownItem_Spinner = 2131427627;
- // aapt resource value: 0x7f0a012c
- public const int Widget_AppCompat_EditText = 2131362092;
+ // aapt resource value: 0x7f0b012c
+ public const int Widget_AppCompat_EditText = 2131427628;
- // aapt resource value: 0x7f0a012d
- public const int Widget_AppCompat_ImageButton = 2131362093;
+ // aapt resource value: 0x7f0b012d
+ public const int Widget_AppCompat_ImageButton = 2131427629;
- // aapt resource value: 0x7f0a012e
- public const int Widget_AppCompat_Light_ActionBar = 2131362094;
+ // aapt resource value: 0x7f0b012e
+ public const int Widget_AppCompat_Light_ActionBar = 2131427630;
- // aapt resource value: 0x7f0a012f
- public const int Widget_AppCompat_Light_ActionBar_Solid = 2131362095;
+ // aapt resource value: 0x7f0b012f
+ public const int Widget_AppCompat_Light_ActionBar_Solid = 2131427631;
- // aapt resource value: 0x7f0a0130
- public const int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 2131362096;
+ // aapt resource value: 0x7f0b0130
+ public const int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 2131427632;
- // aapt resource value: 0x7f0a0131
- public const int Widget_AppCompat_Light_ActionBar_TabBar = 2131362097;
+ // aapt resource value: 0x7f0b0131
+ public const int Widget_AppCompat_Light_ActionBar_TabBar = 2131427633;
- // aapt resource value: 0x7f0a0132
- public const int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 2131362098;
+ // aapt resource value: 0x7f0b0132
+ public const int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 2131427634;
- // aapt resource value: 0x7f0a0133
- public const int Widget_AppCompat_Light_ActionBar_TabText = 2131362099;
+ // aapt resource value: 0x7f0b0133
+ public const int Widget_AppCompat_Light_ActionBar_TabText = 2131427635;
- // aapt resource value: 0x7f0a0134
- public const int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131362100;
+ // aapt resource value: 0x7f0b0134
+ public const int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131427636;
- // aapt resource value: 0x7f0a0135
- public const int Widget_AppCompat_Light_ActionBar_TabView = 2131362101;
+ // aapt resource value: 0x7f0b0135
+ public const int Widget_AppCompat_Light_ActionBar_TabView = 2131427637;
- // aapt resource value: 0x7f0a0136
- public const int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 2131362102;
+ // aapt resource value: 0x7f0b0136
+ public const int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 2131427638;
- // aapt resource value: 0x7f0a0137
- public const int Widget_AppCompat_Light_ActionButton = 2131362103;
+ // aapt resource value: 0x7f0b0137
+ public const int Widget_AppCompat_Light_ActionButton = 2131427639;
- // aapt resource value: 0x7f0a0138
- public const int Widget_AppCompat_Light_ActionButton_CloseMode = 2131362104;
+ // aapt resource value: 0x7f0b0138
+ public const int Widget_AppCompat_Light_ActionButton_CloseMode = 2131427640;
- // aapt resource value: 0x7f0a0139
- public const int Widget_AppCompat_Light_ActionButton_Overflow = 2131362105;
+ // aapt resource value: 0x7f0b0139
+ public const int Widget_AppCompat_Light_ActionButton_Overflow = 2131427641;
- // aapt resource value: 0x7f0a013a
- public const int Widget_AppCompat_Light_ActionMode_Inverse = 2131362106;
+ // aapt resource value: 0x7f0b013a
+ public const int Widget_AppCompat_Light_ActionMode_Inverse = 2131427642;
- // aapt resource value: 0x7f0a013b
- public const int Widget_AppCompat_Light_ActivityChooserView = 2131362107;
+ // aapt resource value: 0x7f0b013b
+ public const int Widget_AppCompat_Light_ActivityChooserView = 2131427643;
- // aapt resource value: 0x7f0a013c
- public const int Widget_AppCompat_Light_AutoCompleteTextView = 2131362108;
+ // aapt resource value: 0x7f0b013c
+ public const int Widget_AppCompat_Light_AutoCompleteTextView = 2131427644;
- // aapt resource value: 0x7f0a013d
- public const int Widget_AppCompat_Light_DropDownItem_Spinner = 2131362109;
+ // aapt resource value: 0x7f0b013d
+ public const int Widget_AppCompat_Light_DropDownItem_Spinner = 2131427645;
- // aapt resource value: 0x7f0a013e
- public const int Widget_AppCompat_Light_ListPopupWindow = 2131362110;
+ // aapt resource value: 0x7f0b013e
+ public const int Widget_AppCompat_Light_ListPopupWindow = 2131427646;
- // aapt resource value: 0x7f0a013f
- public const int Widget_AppCompat_Light_ListView_DropDown = 2131362111;
+ // aapt resource value: 0x7f0b013f
+ public const int Widget_AppCompat_Light_ListView_DropDown = 2131427647;
- // aapt resource value: 0x7f0a0140
- public const int Widget_AppCompat_Light_PopupMenu = 2131362112;
+ // aapt resource value: 0x7f0b0140
+ public const int Widget_AppCompat_Light_PopupMenu = 2131427648;
- // aapt resource value: 0x7f0a0141
- public const int Widget_AppCompat_Light_PopupMenu_Overflow = 2131362113;
+ // aapt resource value: 0x7f0b0141
+ public const int Widget_AppCompat_Light_PopupMenu_Overflow = 2131427649;
- // aapt resource value: 0x7f0a0142
- public const int Widget_AppCompat_Light_SearchView = 2131362114;
+ // aapt resource value: 0x7f0b0142
+ public const int Widget_AppCompat_Light_SearchView = 2131427650;
- // aapt resource value: 0x7f0a0143
- public const int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 2131362115;
+ // aapt resource value: 0x7f0b0143
+ public const int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 2131427651;
- // aapt resource value: 0x7f0a0144
- public const int Widget_AppCompat_ListPopupWindow = 2131362116;
+ // aapt resource value: 0x7f0b0144
+ public const int Widget_AppCompat_ListPopupWindow = 2131427652;
- // aapt resource value: 0x7f0a0145
- public const int Widget_AppCompat_ListView = 2131362117;
+ // aapt resource value: 0x7f0b0145
+ public const int Widget_AppCompat_ListView = 2131427653;
- // aapt resource value: 0x7f0a0146
- public const int Widget_AppCompat_ListView_DropDown = 2131362118;
+ // aapt resource value: 0x7f0b0146
+ public const int Widget_AppCompat_ListView_DropDown = 2131427654;
- // aapt resource value: 0x7f0a0147
- public const int Widget_AppCompat_ListView_Menu = 2131362119;
+ // aapt resource value: 0x7f0b0147
+ public const int Widget_AppCompat_ListView_Menu = 2131427655;
- // aapt resource value: 0x7f0a0148
- public const int Widget_AppCompat_PopupMenu = 2131362120;
+ // aapt resource value: 0x7f0b0148
+ public const int Widget_AppCompat_PopupMenu = 2131427656;
- // aapt resource value: 0x7f0a0149
- public const int Widget_AppCompat_PopupMenu_Overflow = 2131362121;
+ // aapt resource value: 0x7f0b0149
+ public const int Widget_AppCompat_PopupMenu_Overflow = 2131427657;
- // aapt resource value: 0x7f0a014a
- public const int Widget_AppCompat_PopupWindow = 2131362122;
+ // aapt resource value: 0x7f0b014a
+ public const int Widget_AppCompat_PopupWindow = 2131427658;
- // aapt resource value: 0x7f0a014b
- public const int Widget_AppCompat_ProgressBar = 2131362123;
+ // aapt resource value: 0x7f0b014b
+ public const int Widget_AppCompat_ProgressBar = 2131427659;
- // aapt resource value: 0x7f0a014c
- public const int Widget_AppCompat_ProgressBar_Horizontal = 2131362124;
+ // aapt resource value: 0x7f0b014c
+ public const int Widget_AppCompat_ProgressBar_Horizontal = 2131427660;
- // aapt resource value: 0x7f0a014d
- public const int Widget_AppCompat_RatingBar = 2131362125;
+ // aapt resource value: 0x7f0b014d
+ public const int Widget_AppCompat_RatingBar = 2131427661;
- // aapt resource value: 0x7f0a014e
- public const int Widget_AppCompat_RatingBar_Indicator = 2131362126;
+ // aapt resource value: 0x7f0b014e
+ public const int Widget_AppCompat_RatingBar_Indicator = 2131427662;
- // aapt resource value: 0x7f0a014f
- public const int Widget_AppCompat_RatingBar_Small = 2131362127;
+ // aapt resource value: 0x7f0b014f
+ public const int Widget_AppCompat_RatingBar_Small = 2131427663;
- // aapt resource value: 0x7f0a0150
- public const int Widget_AppCompat_SearchView = 2131362128;
+ // aapt resource value: 0x7f0b0150
+ public const int Widget_AppCompat_SearchView = 2131427664;
- // aapt resource value: 0x7f0a0151
- public const int Widget_AppCompat_SearchView_ActionBar = 2131362129;
+ // aapt resource value: 0x7f0b0151
+ public const int Widget_AppCompat_SearchView_ActionBar = 2131427665;
- // aapt resource value: 0x7f0a0152
- public const int Widget_AppCompat_SeekBar = 2131362130;
+ // aapt resource value: 0x7f0b0152
+ public const int Widget_AppCompat_SeekBar = 2131427666;
- // aapt resource value: 0x7f0a0153
- public const int Widget_AppCompat_Spinner = 2131362131;
+ // aapt resource value: 0x7f0b0153
+ public const int Widget_AppCompat_Spinner = 2131427667;
- // aapt resource value: 0x7f0a0154
- public const int Widget_AppCompat_Spinner_DropDown = 2131362132;
+ // aapt resource value: 0x7f0b0154
+ public const int Widget_AppCompat_Spinner_DropDown = 2131427668;
- // aapt resource value: 0x7f0a0155
- public const int Widget_AppCompat_Spinner_DropDown_ActionBar = 2131362133;
+ // aapt resource value: 0x7f0b0155
+ public const int Widget_AppCompat_Spinner_DropDown_ActionBar = 2131427669;
- // aapt resource value: 0x7f0a0156
- public const int Widget_AppCompat_Spinner_Underlined = 2131362134;
+ // aapt resource value: 0x7f0b0156
+ public const int Widget_AppCompat_Spinner_Underlined = 2131427670;
- // aapt resource value: 0x7f0a0157
- public const int Widget_AppCompat_TextView_SpinnerItem = 2131362135;
+ // aapt resource value: 0x7f0b0157
+ public const int Widget_AppCompat_TextView_SpinnerItem = 2131427671;
- // aapt resource value: 0x7f0a0158
- public const int Widget_AppCompat_Toolbar = 2131362136;
+ // aapt resource value: 0x7f0b0158
+ public const int Widget_AppCompat_Toolbar = 2131427672;
- // aapt resource value: 0x7f0a0159
- public const int Widget_AppCompat_Toolbar_Button_Navigation = 2131362137;
+ // aapt resource value: 0x7f0b0159
+ public const int Widget_AppCompat_Toolbar_Button_Navigation = 2131427673;
- // aapt resource value: 0x7f0a016a
- public const int Widget_Design_AppBarLayout = 2131362154;
+ // aapt resource value: 0x7f0b016a
+ public const int Widget_Design_AppBarLayout = 2131427690;
- // aapt resource value: 0x7f0a016b
- public const int Widget_Design_BottomSheet_Modal = 2131362155;
+ // aapt resource value: 0x7f0b016b
+ public const int Widget_Design_BottomSheet_Modal = 2131427691;
- // aapt resource value: 0x7f0a016c
- public const int Widget_Design_CollapsingToolbar = 2131362156;
+ // aapt resource value: 0x7f0b016c
+ public const int Widget_Design_CollapsingToolbar = 2131427692;
- // aapt resource value: 0x7f0a016d
- public const int Widget_Design_CoordinatorLayout = 2131362157;
+ // aapt resource value: 0x7f0b016d
+ public const int Widget_Design_CoordinatorLayout = 2131427693;
- // aapt resource value: 0x7f0a016e
- public const int Widget_Design_FloatingActionButton = 2131362158;
+ // aapt resource value: 0x7f0b016e
+ public const int Widget_Design_FloatingActionButton = 2131427694;
- // aapt resource value: 0x7f0a016f
- public const int Widget_Design_NavigationView = 2131362159;
+ // aapt resource value: 0x7f0b016f
+ public const int Widget_Design_NavigationView = 2131427695;
- // aapt resource value: 0x7f0a0170
- public const int Widget_Design_ScrimInsetsFrameLayout = 2131362160;
+ // aapt resource value: 0x7f0b0170
+ public const int Widget_Design_ScrimInsetsFrameLayout = 2131427696;
- // aapt resource value: 0x7f0a0171
- public const int Widget_Design_Snackbar = 2131362161;
+ // aapt resource value: 0x7f0b0171
+ public const int Widget_Design_Snackbar = 2131427697;
- // aapt resource value: 0x7f0a015a
- public const int Widget_Design_TabLayout = 2131362138;
+ // aapt resource value: 0x7f0b015a
+ public const int Widget_Design_TabLayout = 2131427674;
- // aapt resource value: 0x7f0a0172
- public const int Widget_Design_TextInputLayout = 2131362162;
+ // aapt resource value: 0x7f0b0172
+ public const int Widget_Design_TextInputLayout = 2131427698;
- // aapt resource value: 0x7f0a0005
- public const int Widget_MediaRouter_ChooserText = 2131361797;
+ // aapt resource value: 0x7f0b0005
+ public const int Widget_MediaRouter_ChooserText = 2131427333;
- // aapt resource value: 0x7f0a0006
- public const int Widget_MediaRouter_ChooserText_Primary = 2131361798;
+ // aapt resource value: 0x7f0b0006
+ public const int Widget_MediaRouter_ChooserText_Primary = 2131427334;
- // aapt resource value: 0x7f0a0007
- public const int Widget_MediaRouter_ChooserText_Primary_Dark = 2131361799;
+ // aapt resource value: 0x7f0b0007
+ public const int Widget_MediaRouter_ChooserText_Primary_Dark = 2131427335;
- // aapt resource value: 0x7f0a0008
- public const int Widget_MediaRouter_ChooserText_Primary_Light = 2131361800;
+ // aapt resource value: 0x7f0b0008
+ public const int Widget_MediaRouter_ChooserText_Primary_Light = 2131427336;
- // aapt resource value: 0x7f0a0009
- public const int Widget_MediaRouter_ChooserText_Secondary = 2131361801;
+ // aapt resource value: 0x7f0b0009
+ public const int Widget_MediaRouter_ChooserText_Secondary = 2131427337;
- // aapt resource value: 0x7f0a000a
- public const int Widget_MediaRouter_ChooserText_Secondary_Dark = 2131361802;
+ // aapt resource value: 0x7f0b000a
+ public const int Widget_MediaRouter_ChooserText_Secondary_Dark = 2131427338;
- // aapt resource value: 0x7f0a000b
- public const int Widget_MediaRouter_ChooserText_Secondary_Light = 2131361803;
+ // aapt resource value: 0x7f0b000b
+ public const int Widget_MediaRouter_ChooserText_Secondary_Light = 2131427339;
- // aapt resource value: 0x7f0a000c
- public const int Widget_MediaRouter_ControllerText = 2131361804;
+ // aapt resource value: 0x7f0b000c
+ public const int Widget_MediaRouter_ControllerText = 2131427340;
- // aapt resource value: 0x7f0a000d
- public const int Widget_MediaRouter_ControllerText_Primary = 2131361805;
+ // aapt resource value: 0x7f0b000d
+ public const int Widget_MediaRouter_ControllerText_Primary = 2131427341;
- // aapt resource value: 0x7f0a000e
- public const int Widget_MediaRouter_ControllerText_Primary_Dark = 2131361806;
+ // aapt resource value: 0x7f0b000e
+ public const int Widget_MediaRouter_ControllerText_Primary_Dark = 2131427342;
- // aapt resource value: 0x7f0a000f
- public const int Widget_MediaRouter_ControllerText_Primary_Light = 2131361807;
+ // aapt resource value: 0x7f0b000f
+ public const int Widget_MediaRouter_ControllerText_Primary_Light = 2131427343;
- // aapt resource value: 0x7f0a0010
- public const int Widget_MediaRouter_ControllerText_Secondary = 2131361808;
+ // aapt resource value: 0x7f0b0010
+ public const int Widget_MediaRouter_ControllerText_Secondary = 2131427344;
- // aapt resource value: 0x7f0a0011
- public const int Widget_MediaRouter_ControllerText_Secondary_Dark = 2131361809;
+ // aapt resource value: 0x7f0b0011
+ public const int Widget_MediaRouter_ControllerText_Secondary_Dark = 2131427345;
- // aapt resource value: 0x7f0a0012
- public const int Widget_MediaRouter_ControllerText_Secondary_Light = 2131361810;
+ // aapt resource value: 0x7f0b0012
+ public const int Widget_MediaRouter_ControllerText_Secondary_Light = 2131427346;
- // aapt resource value: 0x7f0a0013
- public const int Widget_MediaRouter_ControllerText_Title = 2131361811;
+ // aapt resource value: 0x7f0b0013
+ public const int Widget_MediaRouter_ControllerText_Title = 2131427347;
- // aapt resource value: 0x7f0a0014
- public const int Widget_MediaRouter_ControllerText_Title_Dark = 2131361812;
+ // aapt resource value: 0x7f0b0014
+ public const int Widget_MediaRouter_ControllerText_Title_Dark = 2131427348;
- // aapt resource value: 0x7f0a0015
- public const int Widget_MediaRouter_ControllerText_Title_Light = 2131361813;
+ // aapt resource value: 0x7f0b0015
+ public const int Widget_MediaRouter_ControllerText_Title_Light = 2131427349;
- // aapt resource value: 0x7f0a0016
- public const int Widget_MediaRouter_Light_MediaRouteButton = 2131361814;
+ // aapt resource value: 0x7f0b0016
+ public const int Widget_MediaRouter_Light_MediaRouteButton = 2131427350;
- // aapt resource value: 0x7f0a0017
- public const int Widget_MediaRouter_MediaRouteButton = 2131361815;
+ // aapt resource value: 0x7f0b0017
+ public const int Widget_MediaRouter_MediaRouteButton = 2131427351;
static Style()
{
@@ -6819,6 +6904,25 @@ namespace BookAStar.Droid
}
}
+ public partial class Xml
+ {
+
+ // aapt resource value: 0x7f060000
+ public const int account_preferences = 2131099648;
+
+ // aapt resource value: 0x7f060001
+ public const int authenticator = 2131099649;
+
+ static Xml()
+ {
+ global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+ }
+
+ private Xml()
+ {
+ }
+ }
+
public partial class Styleable
{
diff --git a/BookAStar/BookAStar.Droid/Resources/layout/Tabbar.axml b/BookAStar/BookAStar.Droid/Resources/layout/Tabbar.axml
index ad1f87d8..97cb27ad 100644
--- a/BookAStar/BookAStar.Droid/Resources/layout/Tabbar.axml
+++ b/BookAStar/BookAStar.Droid/Resources/layout/Tabbar.axml
@@ -8,4 +8,4 @@
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabGravity="fill"
- app:tabMode="fixed" />
+ app:tabMode="fixed" />
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/Resources/layout/Toolbar.axml b/BookAStar/BookAStar.Droid/Resources/layout/Toolbar.axml
index 5e2b4cbb..fdc40808 100644
--- a/BookAStar/BookAStar.Droid/Resources/layout/Toolbar.axml
+++ b/BookAStar/BookAStar.Droid/Resources/layout/Toolbar.axml
@@ -7,7 +7,7 @@
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
- android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
+ android:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
tools:context=".MainActivity"
app:layout_scrollFlags="scroll|enterAlways"
/>
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/Resources/menu/md_menu.axml b/BookAStar/BookAStar.Droid/Resources/menu/md_menu.axml
new file mode 100644
index 00000000..a6f00e51
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Resources/menu/md_menu.axml
@@ -0,0 +1,33 @@
+
+
diff --git a/BookAStar/BookAStar.Droid/Resources/values/strings.xml b/BookAStar/BookAStar.Droid/Resources/values/strings.xml
index 2eb87da7..2699fd6f 100644
--- a/BookAStar/BookAStar.Droid/Resources/values/strings.xml
+++ b/BookAStar/BookAStar.Droid/Resources/values/strings.xml
@@ -14,5 +14,25 @@
url
url_hint
picture
- 325408689282
+ 325408689282
+ Comptes Booking Star
+ Comptes Booking Star
+
+ Copier
+ Coller
+
+ Caractère
+ Gras
+ Italique
+ Sousligné
+
+ Paragraphe
+ Titre
+ Sous-titre
+
+
+ Comptes
+
+ Préférences des comptes Booking Star
+
diff --git a/BookAStar/BookAStar.Droid/Resources/xml/account_preferences.xml b/BookAStar/BookAStar.Droid/Resources/xml/account_preferences.xml
new file mode 100644
index 00000000..705cf7ef
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Resources/xml/account_preferences.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/BookAStar/BookAStar.Droid/Resources/xml/authenticator.xml b/BookAStar/BookAStar.Droid/Resources/xml/authenticator.xml
new file mode 100644
index 00000000..69acd1fa
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Resources/xml/authenticator.xml
@@ -0,0 +1,8 @@
+
+
diff --git a/BookAStar/BookAStar.Droid/Services/AccountChooserService.cs b/BookAStar/BookAStar.Droid/Services/AccountChooserService.cs
new file mode 100644
index 00000000..7ae4e94a
--- /dev/null
+++ b/BookAStar/BookAStar.Droid/Services/AccountChooserService.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using BookAStar.Droid.OAuth;
+
+namespace BookAStar.Droid.Services
+{
+ [Service(
+ Name = "fr.pschneider.bas.AccountChooserService",
+ Label = "Yavsc accounts service",
+ Icon = "@drawable/icon",
+ Exported = true,
+ Enabled = true
+ )]
+ [IntentFilter(new String[] { "android.accounts.AccountAuthenticator" })]
+
+ class AccountChooserService : Service
+ {
+ public static YaOAuth2Authenticator authenticator;
+ public override void OnCreate()
+ {
+ base.OnCreate();
+
+
+
+ }
+
+ public override IBinder OnBind(Intent intent)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
\ No newline at end of file
diff --git a/BookAStar/BookAStar.Droid/Services/GcmListenerService.cs b/BookAStar/BookAStar.Droid/Services/GcmListenerService.cs
index 148fbdd5..83df3daa 100644
--- a/BookAStar/BookAStar.Droid/Services/GcmListenerService.cs
+++ b/BookAStar/BookAStar.Droid/Services/GcmListenerService.cs
@@ -9,6 +9,9 @@ namespace BookAStar.Droid.Services
using Model.Social;
using Newtonsoft.Json;
using Model;
+ using Model.Social;
+ using Data;
+ using System.Linq;
namespace ClientApp
{
@@ -44,18 +47,27 @@ namespace BookAStar.Droid.Services
if (topic == "BookQuery")
{
DateTime eventdate;
-
var sdatestr = data.GetString("EventDate");
DateTime.TryParse(sdatestr, out eventdate);
var locationJson = data.GetString("Location");
var location = JsonConvert.DeserializeObject(locationJson);
var cid = long.Parse(data.GetString("Id"));
- var bq = new BookQueryData
+ var clientJson = data.GetString("Client");
+ var client = JsonConvert.DeserializeObject(clientJson);
+ var bq = new BookQuery
{
Id = cid,
- Location = location
+ Location = location,
+ Client = client,
+ Reason = data.GetString("Reason")
};
+ var dateString = data.GetString("EventDate");
+ DateTime evDate;
+ if (DateTime.TryParse(dateString, out evDate))
+ {
+ bq.EventDate = evDate;
+ }
SendBookQueryNotification(bq);
}
@@ -82,14 +94,17 @@ namespace BookAStar.Droid.Services
notificationManager.Notify(0, notificationBuilder.Build());
}
- void SendBookQueryNotification(BookQueryData bquery)
+ void SendBookQueryNotification(BookQuery bquery)
{
- var bookquerynotifications = MainSettings.AddBookQueryNotification(bquery);
+ DataManager.Instance.BookQueries.Merge(bquery);
+ var bookquerynotifications = DataManager.Instance.BookQueries.Where(
+ q=> ! q.Read && q.EventDate > DateTime.Now
+ ).ToArray();
var count = bookquerynotifications.Length;
var multiple = count > 1;
var title =
multiple ? $"{count} demandes" : bquery.Client.UserName;
- var message = $"{bquery.EventDate} {bquery.Client.UserName} {bquery.Location.Address}";
+ var message = $"{bquery.EventDate} {bquery.Client.UserName} {bquery.Location.Address}\n {bquery.Reason}";
var intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.ClearTop);
diff --git a/BookAStar/BookAStar.Droid/Services/MyGcmIntentService.cs b/BookAStar/BookAStar.Droid/Services/MyGcmIntentService.cs
index b6ed58f1..66d63577 100644
--- a/BookAStar/BookAStar.Droid/Services/MyGcmIntentService.cs
+++ b/BookAStar/BookAStar.Droid/Services/MyGcmIntentService.cs
@@ -7,7 +7,6 @@ using Android.Widget;
namespace BookAStar.Droid
{
-
[Service]
public class MyGcmIntentService : IntentService
{
@@ -31,6 +30,7 @@ namespace BookAStar.Droid
intent.SetClass(context, typeof(MyGcmIntentService));
context.StartService(intent);
}
+
static object locker = new object();
protected override void OnHandleIntent(Intent intent)
@@ -74,16 +74,28 @@ namespace BookAStar.Droid
void SendNotification (string message)
{
- var intent = new Intent (this, typeof(MainActivity));
+ /* Bundle valuesForActivity = new Bundle();
+ valuesForActivity.PutInt("count", count); */
+
+ var intent = new Intent (this, typeof(MainActivity));
intent.AddFlags (ActivityFlags.ClearTop);
var pendingIntent = PendingIntent.GetActivity (this, 0, intent, PendingIntentFlags.OneShot);
+ // Construct a back stack for cross-task navigation:
+ TaskStackBuilder stackBuilder = TaskStackBuilder.Create(this);
+ stackBuilder.AddParentStack(Java.Lang.Class.FromType(typeof(MainActivity)));
+ stackBuilder.AddNextIntent(intent);
+
+ // Create the PendingIntent with the back stack:
+ PendingIntent resultPendingIntent =
+ stackBuilder.GetPendingIntent(0, PendingIntentFlags.UpdateCurrent);
- var notificationBuilder = new Notification.Builder(this)
+ var notificationBuilder = new Notification.Builder(this)
+ .SetAutoCancel(true)
.SetSmallIcon (Resource.Drawable.icon)
.SetContentTitle ("GCM Message")
.SetContentText (message)
- .SetAutoCancel (true)
- .SetContentIntent (pendingIntent);
+ .SetContentIntent(resultPendingIntent) // Start 2nd activity when the intent is clicked.
+ ;
var notificationManager = (NotificationManager) GetSystemService(Context.NotificationService);
notificationManager.Notify (0, notificationBuilder.Build());
diff --git a/BookAStar/BookAStar.iOS/BookAStar.iOS.csproj b/BookAStar/BookAStar.iOS/BookAStar.iOS.csproj
index 59e07669..4199662c 100644
--- a/BookAStar/BookAStar.iOS/BookAStar.iOS.csproj
+++ b/BookAStar/BookAStar.iOS/BookAStar.iOS.csproj
@@ -171,10 +171,6 @@
-
- {67F9D3A8-F71E-4428-913F-C37AE82CDB24}
- Yavsc.Client
-
{A0815650-0A0A-47B0-8826-771F0E1AD137}
BookAStar
diff --git a/BookAStar/BookAStar/App.xaml b/BookAStar/BookAStar/App.xaml
index 31426f3f..02b13cc7 100644
--- a/BookAStar/BookAStar/App.xaml
+++ b/BookAStar/BookAStar/App.xaml
@@ -9,23 +9,31 @@
#FFAAAAFF
- #80AFAFAF
+ #FFCCCCFF
+
+ #80FFFFFF
#FFFFFFFF
#FFFFFFFF
#000000
#000000
#000000
+ #500000
+
Black
Blue
#5050ff
#207AFAFA
+ #800080
+ #404040
+ #909090
+ #ffffff
+
-
-
-
-
+
+
+
+
+
-
-
-
+
+
\ No newline at end of file
diff --git a/BookAStar/BookAStar/App.xaml.cs b/BookAStar/BookAStar/App.xaml.cs
index c90b1eef..6a84b530 100644
--- a/BookAStar/BookAStar/App.xaml.cs
+++ b/BookAStar/BookAStar/App.xaml.cs
@@ -19,7 +19,6 @@ namespace BookAStar
using Data;
using Interfaces;
using Model;
- using Model.UI;
using Pages;
using Plugin.Connectivity;
using Model.Social.Messaging;
@@ -27,6 +26,11 @@ namespace BookAStar
using ViewModels.UserProfile;
using Pages.UserProfile;
using ViewModels.EstimateAndBilling;
+ using Pages.EstimatePages;
+ using ViewModels;
+ using Pages.Chat;
+ using System.Collections.Generic;
+ using Model.Social;
public partial class App : Application // superclass new in 1.3
{
@@ -35,13 +39,14 @@ namespace BookAStar
[Obsolete("Instead using this, use new static properties.")]
public static App CurrentApp { get { return Current as App; } }
-
+
+ private static ExtendedMasterDetailPage masterDetail;
public static bool MasterPresented
{
get
- { return CurrentApp.masterDetail.IsPresented; }
+ { return App.masterDetail.IsPresented; }
internal set
- { CurrentApp.masterDetail.IsPresented = value; }
+ { masterDetail.IsPresented = value; }
}
public void Init()
@@ -63,27 +68,27 @@ namespace BookAStar
MainSettings.UserChanged += MainSettings_UserChanged;
CrossConnectivity.Current.ConnectivityChanged += (conSender, args) =>
{ App.IsConnected = args.IsConnected; };
+ SetupHubConnection();
MainSettings_UserChanged(this, null);
- if (CrossConnectivity.Current.IsConnected)
- StartHubConnection();
+
+ StartConnexion();
}
// omg
private void OnError(object sender, EventArgs e)
{
-
+
}
-
+
// Called on rotation after OnSuspended
private void OnClosing(object sender, EventArgs e)
{
-
}
// FIXME Never called.
private void OnInitialize(object sender, EventArgs e)
{
-
+
}
// called on app startup, not on rotation
@@ -92,17 +97,22 @@ namespace BookAStar
// TODO special startup pages as
// notification details or wizard setup page
}
-
+ private static INavigation Navigation
+ {
+ get
+ {
+ return masterDetail.Detail.Navigation;
+ }
+ }
// Called on rotation
private void OnSuspended(object sender, EventArgs e)
{
- // TODO save the navigation stack
+ StopConnection();
int position = 0;
-
- foreach (Page page in MainPage.Navigation.NavigationStack)
+ DataManager.Instance.AppState.Clear();
+ foreach (Page page in Navigation.NavigationStack)
{
-
- DataManager.Current.AppState.Add(
+ DataManager.Instance.AppState.Add(
new PageState
{
Position = position++,
@@ -110,28 +120,35 @@ namespace BookAStar
BindingContext = page.BindingContext
});
}
- DataManager.Current.AppState.SaveEntity();
+ DataManager.Instance.AppState.SaveEntity();
}
// called on app startup, after OnStartup, not on rotation
private void OnAppResumed(object sender, EventArgs e)
{
+ StartConnexion();
// TODO restore the navigation stack
base.OnResume();
- foreach (var pageState in DataManager.Current.AppState)
+ foreach (var pageState in DataManager.Instance.AppState)
{
- var pageType = Type.GetType(pageState.PageType);
- NavigationService.NavigateTo(
- pageType, true, pageState.BindingContext);
+ if (pageState.PageType != null)
+ {
+ var pageType = Type.GetType(pageState.PageType);
+ if (pageState.BindingContext != null)
+ NavigationService.NavigateTo(
+ pageType, false, pageState.BindingContext);
+ else NavigationService.NavigateTo(
+ pageType, false);
+ }
}
- DataManager.Current.AppState.Clear();
- DataManager.Current.AppState.SaveEntity();
+ DataManager.Instance.AppState.Clear();
+ DataManager.Instance.AppState.SaveEntity();
}
// FIXME Not called?
private void OnRotation(object sender, EventArgs e)
{
-
+
}
public static GenericConfigSettingsMgr ConfigManager { protected set; get; }
@@ -139,9 +156,6 @@ namespace BookAStar
private void Configure(IXFormsApp app)
{
ViewFactory.EnableCache = true;
- ViewFactory.Register(
- r=> new ChatViewModel { ChatUser = MainSettings.UserName }
- );
ViewFactory.Register(
resolver => new DashboardViewModel());
ViewFactory.Register();
@@ -150,12 +164,11 @@ namespace BookAStar
ViewFactory.Register();
ViewFactory.Register();
ViewFactory.Register();
+ ViewFactory.Register();
ConfigManager = new GenericConfigSettingsMgr(s =>
MainSettings.AppSettings.GetValueOrDefault(s, MainSettings.SettingsDefault), null);
}
- ExtendedMasterDetailPage masterDetail;
-
public App(IPlatform instance)
{
// This declaration became obsolete by introduction
@@ -170,39 +183,64 @@ namespace BookAStar
Init();
// Builds the Main page
BuildMainPage();
-
+
}
BookQueriesPage bQueriesPage;
AccountChooserPage accChooserPage;
HomePage homePage;
- UserProfilePage userProfilePage;
+
+ private static UserProfilePage userProfilePage;
+
+ public static UserProfilePage UserProfilePage
+ { get { return userProfilePage; } }
+
ChatPage chatPage;
- private void ShowPage(Page page)
+ public static void ShowPage(Page page)
{
- if (masterDetail.Detail.Navigation.NavigationStack.Contains(page))
+ if (Navigation.NavigationStack.Contains(page))
{
- if (masterDetail.Detail.Navigation.NavigationStack.Last() == page) return;
- masterDetail.Detail.Navigation.RemovePage(page);
+ if (Navigation.NavigationStack.Last() == page) return;
+ Navigation.RemovePage(page);
page.Parent = null;
}
- masterDetail.Detail.Navigation.PushAsync(page);
+ Navigation.PushAsync(page);
}
private void BuildMainPage()
{
+ // TODO
+ // in case of App resume,
+ // do not create new BindingContext's,
+ // but use those from the AppState property
accChooserPage = new AccountChooserPage();
+ var bookQueries = new BookQueriesViewModel();
+
+ var userprofile = new UserProfileViewModel();
+
bQueriesPage = new BookQueriesPage
{
Title = "Demandes",
Icon = "icon.png",
- BindingContext = new BookQueriesViewModel()
+ BindingContext = bookQueries
};
- homePage = new HomePage() { Title = "Accueil", Icon = "icon.png" };
- userProfilePage = new UserProfilePage { Title = "Profile utilisateur", Icon = "ic_corp_icon.png",
- BindingContext = new UserProfileViewModel() };
+
+ homePage = new HomePage() {
+ Title = "Accueil",
+ Icon = "icon.png" };
+
+ homePage.BindingContext = new HomeViewModel {
+ BookQueries = bookQueries,
+ UserProfile = userprofile };
+
+ userProfilePage = new UserProfilePage {
+ Title = "Profile utilisateur",
+ Icon = "ic_corp_icon.png",
+ BindingContext = userprofile
+ };
+
chatPage = new ChatPage
{
Title = "Chat",
@@ -259,11 +297,11 @@ namespace BookAStar
masterDetail.ToolbarItems.Add(tiPubChat);
this.MainPage = masterDetail;
- NavigationService = new NavigationService(masterDetail.Detail.Navigation);
+ NavigationService = new NavigationService(Navigation);
}
public static Task DisplayActionSheet(string title, string cancel, string destruction, string [] buttons)
{
- var currentPage = CurrentApp.masterDetail.Detail.Navigation.NavigationStack.Last();
+ var currentPage = Navigation.NavigationStack.Last();
return currentPage.DisplayActionSheet(title, cancel, destruction, buttons);
}
@@ -293,7 +331,7 @@ namespace BookAStar
if (isConnected)
{
// TODO Start all cloud related stuff
- CurrentApp.StartHubConnection();
+ StartConnexion();
}
}
@@ -308,18 +346,20 @@ namespace BookAStar
}
}
// Start the Hub connection
- public async void StartHubConnection ()
+ public static async void StartConnexion ()
{
- try
+ if (CrossConnectivity.Current.IsConnected)
+ try
{
+ if (chatHubConnection.State == ConnectionState.Disconnected)
await chatHubConnection.Start();
}
- catch (WebException webex )
+ catch (WebException )
{
// TODO use webex, set this cx down status somewhere,
// & display it & maybe try again later.
}
- catch (Exception ex)
+ catch (Exception )
{
// TODO use ex
}
@@ -327,36 +367,53 @@ namespace BookAStar
public void SetupHubConnection()
{
+ if (chatHubConnection != null)
+ chatHubConnection.Dispose();
chatHubConnection = new HubConnection(Constants.SignalRHubsUrl);
chatHubConnection.Error += ChatHubConnection_Error;
chatHubProxy = chatHubConnection.CreateHubProxy("ChatHub");
chatHubProxy.On("addPV", (n, m) => {
- DataManager.Current.PrivateMessages.Add(
- new ChatMessage
- {
- Message = m,
- SenderId = n,
- Date = DateTime.Now
- }
+ var msg = new ChatMessage
+ {
+ Message = m,
+ SenderId = n,
+ Date = DateTime.Now
+ };
+ DataManager.Instance.PrivateMessages.Add(
+ msg
);
+ DataManager.Instance.ChatUsers.OnPrivateMessage(msg);
});
}
-
- private void MainSettings_UserChanged(object sender, EventArgs e)
+ public static void StopConnection()
{
- if (MainSettings.CurrentUser == null)
+ try
{
- chatHubConnection.Dispose();
- chatHubConnection = null;
- chatHubProxy = null;
+ if (chatHubConnection.State != ConnectionState.Disconnected)
+ chatHubConnection.Stop();
}
- else
+ catch (WebException)
+ {
+ // TODO use webex, set this cx down status somewhere,
+ // & display it & maybe try again later.
+ }
+ catch (Exception)
+ {
+ // TODO use ex
+ }
+ }
+ private void MainSettings_UserChanged(object sender, EventArgs e)
+ {
+ StopConnection();
+ if (MainSettings.CurrentUser != null)
{
var token = MainSettings.CurrentUser.YavscTokens.AccessToken;
- SetupHubConnection();
+ if (chatHubConnection.Headers.ContainsKey("Authorization"))
+ chatHubConnection.Headers.Remove("Authorization");
chatHubConnection.Headers.Add("Authorization", $"Bearer {token}");
}
+ StartConnexion();
}
private void ChatHubConnection_Error(Exception obj)
@@ -379,18 +436,18 @@ namespace BookAStar
}
}
- public void PostDeviceInfo()
+ public static void PostDeviceInfo()
{
var info = PlatformSpecificInstance.GetDeviceInfo();
if (!string.IsNullOrWhiteSpace(info.GCMRegistrationId))
PlatformSpecificInstance.InvokeApi("gcm/register", info);
}
- public static void ShowBookQuery (BookQueryData query)
+ public static void ShowBookQuery (BookQuery query)
{
- var page = ViewFactory.CreatePage((b, p) => p.BindingContext = new BookQueryViewModel(query));
- App.Current.MainPage.Navigation.PushAsync(page as Page);
+ var page = new BookQueryPage
+ { BindingContext = new BookQueryViewModel(query) };
+ ShowPage(page);
}
}
}
diff --git a/BookAStar/BookAStar/Behaviors/MaxLengthValidator.cs b/BookAStar/BookAStar/Behaviors/MaxLengthValidator.cs
deleted file mode 100644
index b70f5896..00000000
--- a/BookAStar/BookAStar/Behaviors/MaxLengthValidator.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using Xamarin.Forms;
-
-namespace BookAStar.Behaviors
-{
- public class EditorMaxLengthValidator : Behavior
- {
- public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create("MaxLength", typeof(int), typeof(MaxLengthValidator), 0);
-
- public int MaxLength
- {
- get { return (int)GetValue(MaxLengthProperty); }
- set { SetValue(MaxLengthProperty, value); }
- }
-
- protected override void OnAttachedTo(Editor bindable)
- {
- bindable.TextChanged += bindable_TextChanged;
- }
-
- public bool IsValid { get; set; }
-
- private void bindable_TextChanged(object sender, TextChangedEventArgs e)
- {
- IsValid = e.NewTextValue == null? false : ( e.NewTextValue.Length > 0 && e.NewTextValue.Length <= MaxLength ) ;
- if (!IsValid) if (e.NewTextValue!=null) if (e.NewTextValue.Length > MaxLength)
- ((Editor)sender).Text = e.NewTextValue.Substring(0, MaxLength);
- }
-
- protected override void OnDetachingFrom(Editor bindable)
- {
- bindable.TextChanged -= bindable_TextChanged;
- }
- }
- public class MaxLengthValidator : Behavior
- {
- public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create("MaxLength", typeof(int), typeof(MaxLengthValidator), 0);
-
- public int MaxLength
- {
- get { return (int)GetValue(MaxLengthProperty); }
- set { SetValue(MaxLengthProperty, value); }
- }
-
- protected override void OnAttachedTo(Entry bindable)
- {
- bindable.TextChanged += bindable_TextChanged;
- }
-
- private void bindable_TextChanged(object sender, TextChangedEventArgs e)
- {
- //if (MaxLength != null && MaxLength.HasValue)
- if (e.NewTextValue.Length > MaxLength)
- ((Entry)sender).Text = e.NewTextValue.Substring(0, MaxLength);
- }
-
- protected override void OnDetachingFrom(Entry bindable)
- {
- bindable.TextChanged -= bindable_TextChanged;
-
- }
-
- }
-}
diff --git a/BookAStar/BookAStar/BookAStar.csproj b/BookAStar/BookAStar/BookAStar.csproj
index 86ee64c2..1687641c 100644
--- a/BookAStar/BookAStar/BookAStar.csproj
+++ b/BookAStar/BookAStar/BookAStar.csproj
@@ -42,23 +42,43 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+ SearchPage.xaml
+
+
+
+
+
+
+
+
+
+
+ EstimateSigningPage.xaml
+
EstimatesClientPage.xaml
@@ -85,14 +105,15 @@
True
Strings.en.resx
-
+
DocSigning.xaml
-
+
+
@@ -126,7 +147,7 @@
BookQueryPage.xaml
-
+
ChatPage.xaml
@@ -143,7 +164,7 @@
-
+
@@ -183,7 +204,7 @@
EditEstimatePage.xaml
-
+
HomePage.xaml
@@ -198,9 +219,6 @@
-
- SearchPage.xaml
-
AccountChooserPage.xaml
@@ -233,17 +251,13 @@
MSBuild:UpdateDesignTimeXaml
Designer
-
- MSBuild:UpdateDesignTimeXaml
- Designer
-
MSBuild:UpdateDesignTimeXaml
Designer
-
+
@@ -272,6 +286,12 @@
..\..\packages\Xam.Plugin.Connectivity.2.2.12\lib\MonoAndroid10\Plugin.Connectivity.Abstractions.dll
+
+ ..\..\packages\Xam.Plugin.Media.2.3.0\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Plugin.Media.dll
+
+
+ ..\..\packages\Xam.Plugin.Media.2.3.0\lib\portable-net45+wp8+wpa81+win8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Plugin.Media.Abstractions.dll
+
..\..\packages\Xam.Plugins.Settings.2.5.1.0\lib\portable-net45+wp80+win8+wpa81\Plugin.Settings.dll
True
@@ -296,6 +316,9 @@
..\..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Primitives.dll
True
+
+ ..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Web.Services.dll
+
..\..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll
True
@@ -351,12 +374,6 @@
Designer
-
-
- {67f9d3a8-f71e-4428-913f-c37ae82cdb24}
- Yavsc.Client
-
-
MSBuild:UpdateDesignTimeXaml
@@ -390,7 +407,7 @@
-
+
MSBuild:UpdateDesignTimeXaml
Designer
@@ -416,7 +433,7 @@
-
+
MSBuild:UpdateDesignTimeXaml
Designer
@@ -478,6 +495,27 @@
Designer
+
+
+ MSBuild:UpdateDesignTimeXaml
+ Designer
+
+
+
+
+ {67f9d3a8-f71e-4428-913f-c37ae82cdb24}
+ YavscLib
+
+
+
+
+
+
+
+ MSBuild:UpdateDesignTimeXaml
+ Designer
+
+
diff --git a/BookAStar/BookAStar/Constants.cs b/BookAStar/BookAStar/Constants.cs
index 8c4b3c2a..a6bc047b 100644
--- a/BookAStar/BookAStar/Constants.cs
+++ b/BookAStar/BookAStar/Constants.cs
@@ -11,11 +11,13 @@ namespace BookAStar
{
public const string ApplicationName = "Booking Star";
- #region Uri
#if DEV
public const string YavscHomeUrl = "http://dev.pschneider.fr";
#else
+#if WDEV
+ public const string YavscHomeUrl = "http://192.168.0.29:5000";
+#else
#if YAVSC
public const string YavscHomeUrl = "https://yavsc.pschneider.fr";
#else
@@ -26,17 +28,19 @@ namespace BookAStar
#endif
#endif
#endif
+#endif
+ public static readonly string AuthorizeUrl = YavscHomeUrl + "/authorize";
+ public static readonly string RedirectUrl = YavscHomeUrl + "/oauth/success";
+ public static readonly string AccessTokenUrl = YavscHomeUrl + "/token";
+
public static readonly string YavscApiUrl = YavscHomeUrl + "/api";
public static readonly string MobileRegistrationUrl = YavscApiUrl + "/gcm/register";
public static readonly string UserInfoUrl = YavscApiUrl + "/me";
public static readonly string BlogUrl = YavscApiUrl + "/blogs";
public static readonly string FsUrl = YavscApiUrl + "/fs";
public static readonly string SignalRHubsUrl = YavscHomeUrl + "/api/signalr/hubs";
-#endregion
-#region Permissions ids
public static int AllowBeATarget = 1;
-#endregion
public static int CloudTimeout = 400;
}
diff --git a/BookAStar/BookAStar/Behaviors/DecimalValidatorBehavior.cs b/BookAStar/BookAStar/Converters/Behaviors/DecimalValidatorBehavior.cs
similarity index 100%
rename from BookAStar/BookAStar/Behaviors/DecimalValidatorBehavior.cs
rename to BookAStar/BookAStar/Converters/Behaviors/DecimalValidatorBehavior.cs
diff --git a/BookAStar/BookAStar/Converters/Behaviors/EditorMaxLengthValidator.cs b/BookAStar/BookAStar/Converters/Behaviors/EditorMaxLengthValidator.cs
new file mode 100644
index 00000000..57f4cab0
--- /dev/null
+++ b/BookAStar/BookAStar/Converters/Behaviors/EditorMaxLengthValidator.cs
@@ -0,0 +1,80 @@
+using System;
+using Xamarin.Forms;
+
+namespace BookAStar.Behaviors
+{
+ public class EditorMaxLengthValidator : Behavior
+ {
+ public static readonly BindableProperty MaxLengthProperty =
+ BindableProperty.Create("MaxLength", typeof(int), typeof(EditorMaxLengthValidator), int.MaxValue);
+
+ public static readonly BindableProperty MinLengthProperty =
+ BindableProperty.Create("MinLength", typeof(int), typeof(EditorMaxLengthValidator), 0);
+
+ public static readonly BindableProperty IsValidProperty =
+ BindableProperty.Create("IsValid", typeof(bool), typeof(EditorMaxLengthValidator), false);
+
+ public static readonly BindableProperty ErrorProperty =
+ BindableProperty.Create("Error", typeof(string), typeof(EditorMaxLengthValidator), null);
+
+ public int MaxLength
+ {
+ get { return (int) GetValue(MaxLengthProperty); }
+ set { SetValue(MaxLengthProperty, value); }
+ }
+
+ public int MinLength
+ {
+ get { return (int) GetValue(MinLengthProperty); }
+ set { SetValue(MinLengthProperty, value); }
+ }
+
+ protected override void OnAttachedTo(Editor bindable)
+ {
+ bindable.TextChanged += bindable_TextChanged;
+ }
+
+ public bool IsValid {
+ get { return (bool) GetValue(IsValidProperty); }
+ set { SetValue(IsValidProperty, value);
+ }
+ }
+
+ public string Error
+ {
+ get
+ {
+ return (string) GetValue(ErrorProperty);
+ }
+ set
+ {
+ SetValue(ErrorProperty, value);
+ }
+ }
+ private void bindable_TextChanged(object sender, TextChangedEventArgs e)
+ {
+ if (e.NewTextValue != null && e.NewTextValue.Length >= MinLength)
+ {
+ if (e.NewTextValue.Length > MaxLength)
+ {
+ ((Editor)sender).Text = e.NewTextValue.Substring(0, MaxLength);
+ Error = Strings.YourTextWasTooLong;
+ }
+ else Error = "";
+ IsValid = true;
+ }
+ else
+ {
+ Error = string.Format(Strings.MinMaxStringValidationError,
+ MinLength, MaxLength);
+ IsValid = false;
+ }
+ }
+
+ protected override void OnDetachingFrom(Editor bindable)
+ {
+ bindable.TextChanged -= bindable_TextChanged;
+ }
+ }
+
+}
diff --git a/BookAStar/BookAStar/Converters/Behaviors/EmailValidatorBehavior.cs b/BookAStar/BookAStar/Converters/Behaviors/EmailValidatorBehavior.cs
new file mode 100644
index 00000000..76765708
--- /dev/null
+++ b/BookAStar/BookAStar/Converters/Behaviors/EmailValidatorBehavior.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using Xamarin.Forms;
+
+namespace BookAStar.Behaviors
+{
+ public class EmailValidatorBehavior : RegexValidatorBehavior
+ {
+ const string emailRegex = @"^(?("")("".+?(? Max) || (Max >= val && val >= Min);
+ Error = string.Format(Strings.MinMaxIntError, Min, Max);
+ }
+ else
+ {
+ IsValid = false;
+ Error = "";
}
- else IsValid = false;
}
protected override void OnDetachingFrom(Entry bindable)
@@ -39,6 +47,26 @@ namespace BookAStar.Behaviors
bindable.TextChanged -= bindable_TextChanged;
}
- public bool IsValid { get; private set; }
+ public bool IsValid
+ {
+ get {
+ return (bool) GetValue(IsValidProperty);
+ }
+ set
+ {
+ SetValue(IsValidProperty, value);
+ }
+ }
+ public string Error
+ {
+ get
+ {
+ return (string) GetValue(ErrorProperty);
+ }
+ set
+ {
+ SetValue(ErrorProperty, value);
+ }
+ }
}
}
diff --git a/BookAStar/BookAStar/Converters/Behaviors/MarkdownViewLengthValidator.Cs b/BookAStar/BookAStar/Converters/Behaviors/MarkdownViewLengthValidator.Cs
new file mode 100644
index 00000000..718ca289
--- /dev/null
+++ b/BookAStar/BookAStar/Converters/Behaviors/MarkdownViewLengthValidator.Cs
@@ -0,0 +1,39 @@
+using BookAStar.Views;
+using Xamarin.Forms;
+
+namespace BookAStar.Behaviors
+{
+ public class MarkdownViewLengthValidator : Behavior
+ {
+ public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create("MaxLength", typeof(int), typeof(MarkdownViewLengthValidator), 0);
+ public static readonly BindableProperty MinLengthProperty = BindableProperty.Create("MinLength", typeof(int), typeof(MarkdownViewLengthValidator), 0);
+ public int MaxLength
+ {
+ get { return (int)GetValue(MaxLengthProperty); }
+ set { SetValue(MaxLengthProperty, value); }
+ }
+ public int MinLength
+ {
+ get { return (int)GetValue(MinLengthProperty); }
+ set { SetValue(MinLengthProperty, value); }
+ }
+ protected override void OnAttachedTo(MarkdownView bindable)
+ {
+ bindable.Modified += bindable_TextChanged;
+ }
+
+ public bool IsValid { get; set; }
+
+ private void bindable_TextChanged(object sender, TextChangedEventArgs e)
+ {
+ IsValid = e.NewTextValue == null ? false : (e.NewTextValue.Length >= MinLength && e.NewTextValue.Length <= MaxLength);
+ if (!IsValid) if (e.NewTextValue != null) if (e.NewTextValue.Length > MaxLength)
+ ((Editor)sender).Text = e.NewTextValue.Substring(0, MaxLength);
+ }
+
+ protected override void OnDetachingFrom(MarkdownView bindable)
+ {
+ bindable.Modified -= bindable_TextChanged;
+ }
+ }
+}
diff --git a/BookAStar/BookAStar/Behaviors/PickerBehavior.cs b/BookAStar/BookAStar/Converters/Behaviors/PickerBehavior.cs
similarity index 100%
rename from BookAStar/BookAStar/Behaviors/PickerBehavior.cs
rename to BookAStar/BookAStar/Converters/Behaviors/PickerBehavior.cs
diff --git a/BookAStar/BookAStar/Behaviors/EmailValidatorBehavior.cs b/BookAStar/BookAStar/Converters/Behaviors/RegexValidatorBehavior.cs
similarity index 67%
rename from BookAStar/BookAStar/Behaviors/EmailValidatorBehavior.cs
rename to BookAStar/BookAStar/Converters/Behaviors/RegexValidatorBehavior.cs
index 78371a4a..9b06ec05 100644
--- a/BookAStar/BookAStar/Behaviors/EmailValidatorBehavior.cs
+++ b/BookAStar/BookAStar/Converters/Behaviors/RegexValidatorBehavior.cs
@@ -1,21 +1,15 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Text.RegularExpressions;
-using System.Threading.Tasks;
using Xamarin.Forms;
namespace BookAStar.Behaviors
{
- public class EmailValidatorBehavior : Behavior
+ public class RegexValidatorBehavior : Behavior
{
- const string emailRegex = @"^(?("")("".+?(? BookQueries { get; set; }
- public RemoteEntity Estimates { get; set; }
+ public RemoteEntityRO BookQueries { get; set; }
+ public ChatUserCollection ChatUsers { get; set; }
+ public EstimateEntity Estimates { get; set; }
public RemoteEntity Blogspot { get; set; }
internal RemoteFilesEntity RemoteFiles { get; set; }
- public LocalEntity Contacts { get; set; }
- internal LocalEntity AppState { get; set; }
-
+ public LocalEntity Contacts { get; set; }
+ internal RemoteEntity BlackList { get; set; }
///
- /// They have no remote exisence ...
+ /// They've got no remote existence ...
///
internal LocalEntity EstimationCache { get; set; }
internal LocalEntity EstimateLinesTemplates { get; set; }
internal LocalEntity PrivateMessages { get; set; }
- protected static DataManager current ;
+ internal LocalEntity AppState { get; set; }
+ internal LocalEntity ClientSignatures { get; set; }
+ internal LocalEntity ProviderSignatures { get; set; }
- public static DataManager Current
+ protected static DataManager instance = new DataManager();
+
+ public static DataManager Instance
{
get
{
- if (current == null)
- current = new DataManager();
- return current;
+ return instance;
}
}
public DataManager()
{
- BookQueries = new RemoteEntityRO("bookquery", q => q.Id);
- Estimates = new RemoteEntity("estimate", x => x.Id);
+ BookQueries = new RemoteEntityRO("bookquery", q => q.Id);
+ Estimates = new EstimateEntity();
Blogspot = new RemoteEntity("blog", x=>x.Id);
Contacts = new LocalEntity(c => c.UserId);
@@ -50,7 +54,8 @@
EstimateLinesTemplates = new LocalEntity(l => l.Description);
PrivateMessages = new LocalEntity(m=> m.GetHashCode());
RemoteFiles = new RemoteFilesEntity ();
-
+ BlackList = new RemoteEntity("blacklist",u => u.Id);
+ ChatUsers = new ChatUserCollection();
PrivateMessages.Load();
BookQueries.Load();
Estimates.Load();
@@ -60,6 +65,9 @@
EstimationCache.Load();
EstimateLinesTemplates.Load();
RemoteFiles.Load();
+ BlackList.Load();
+ ChatUsers.Load();
+ BlackList.Load();
}
}
}
diff --git a/BookAStar/BookAStar/Data/EstimateEntity.cs b/BookAStar/BookAStar/Data/EstimateEntity.cs
new file mode 100644
index 00000000..964640a3
--- /dev/null
+++ b/BookAStar/BookAStar/Data/EstimateEntity.cs
@@ -0,0 +1,62 @@
+
+namespace BookAStar.Data
+{
+ using Helpers;
+ using Model.Workflow;
+ using Newtonsoft.Json;
+ using System;
+ using System.Diagnostics;
+ using System.IO;
+ using System.Net.Http;
+
+ public class EstimateEntity : RemoteEntity
+ {
+ public EstimateEntity() : base("estimate", e => e.Id)
+ {
+ }
+
+ public async void SignAsProvider(Estimate estimate, Stream pngStream)
+ {
+
+ if (estimate.Id == 0)
+ {
+ var ok = await this.Create(estimate);
+ if (!ok)
+ {
+ await App.DisplayAlert("Erreur d'accès au serveur", "Echec de l'envoi de l'estimation");
+ return;
+ }
+ this.Add(estimate);
+ }
+ using (HttpClient client = UserHelpers.CreateJsonClient())
+ {
+ try
+ {
+ var requestContent = new MultipartFormDataContent();
+ var content = new StreamContent(pngStream);
+ var filename = $"prosign-{estimate.Id}.png";
+ content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
+ content.Headers.Add("Content-Disposition", $"form-data; name=\"file\"; filename=\"{filename}\"");
+ requestContent.Add(content, "file", filename);
+ using (var response = await client.PostAsync(
+ Constants.YavscApiUrl + $"/pdfestimate/prosign/{estimate.Id}", requestContent))
+ {
+ if (!response.IsSuccessStatusCode)
+ {
+ var errContent = await response.Content.ReadAsStringAsync();
+ throw new ApiCallFailedException($"SignAsProvider: {response.StatusCode} / {errContent}");
+ }
+ var json = await response.Content.ReadAsStringAsync();
+ JsonConvert.PopulateObject(json, estimate);
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.ToString());
+ }
+ }
+ this.SaveEntity();
+ }
+
+ }
+}
diff --git a/BookAStar/BookAStar/Data/NonCrUD/RemoteFiles.cs b/BookAStar/BookAStar/Data/NonCrUD/RemoteFiles.cs
index aa7e6eaa..21cd9273 100644
--- a/BookAStar/BookAStar/Data/NonCrUD/RemoteFiles.cs
+++ b/BookAStar/BookAStar/Data/NonCrUD/RemoteFiles.cs
@@ -6,13 +6,6 @@ namespace BookAStar.Data.NonCrUD
{
using Helpers;
using Model.FileSystem;
- using System.Linq;
- /*
- public class DirectoryEntryChangingEvent : EventArgs
- {
- public UserDirectoryInfo OldItem { get; set; }
- public UserDirectoryInfo NewItem { get; set; }
- }*/
public class RemoteFilesEntity : RemoteEntity
{
@@ -24,7 +17,7 @@ namespace BookAStar.Data.NonCrUD
public override async void Execute(object parameter)
{
BeforeExecute();
- using (var client = UserHelpers.CreateClient())
+ using (var client = UserHelpers.CreateJsonClient())
{
// Get the whole data
try
diff --git a/BookAStar/BookAStar/Data/RemoteEntity.cs b/BookAStar/BookAStar/Data/RemoteEntity.cs
index 3a4b8b62..b1aa9e35 100644
--- a/BookAStar/BookAStar/Data/RemoteEntity.cs
+++ b/BookAStar/BookAStar/Data/RemoteEntity.cs
@@ -11,6 +11,7 @@ namespace BookAStar.Data
using Helpers;
using System.Diagnostics;
using System.Text;
+ using System.Web;
public class RemoteEntity : LocalEntity, ICommand where K : IEquatable
{
@@ -22,7 +23,7 @@ namespace BookAStar.Data
public bool CanExecute(object parameter)
{
- return !IsExecuting && (MainSettings.CurrentUser != null);
+ return !IsExecuting;
}
public RemoteEntity(string controllerName, Func getKey) : base(getKey)
@@ -36,7 +37,7 @@ namespace BookAStar.Data
protected void BeforeExecute()
{
if (IsExecuting)
- throw new InvalidOperationException("Already executing");
+ throw new InvalidOperationException(Strings.AlreadyExecuting);
IsExecuting = true;
if (CanExecuteChanged != null)
CanExecuteChanged.Invoke(this, new EventArgs());
@@ -49,7 +50,7 @@ namespace BookAStar.Data
public virtual async void Execute(object parameter)
{
BeforeExecute();
- using (HttpClient client = UserHelpers.CreateClient())
+ using (HttpClient client = UserHelpers.CreateJsonClient())
{
// Get the whole data
try
@@ -71,7 +72,7 @@ namespace BookAStar.Data
}
catch (WebException webex)
{
- throw new ServiceNotAvailable("No remote entity", webex);
+ throw new ServiceNotAvailable(Strings.ENoRemoteEntity, webex);
}
}
@@ -95,7 +96,7 @@ namespace BookAStar.Data
protected Uri GetUri(K key)
{
- return new Uri(ControllerUri.AbsoluteUri + "/" + key.ToString());
+ return new Uri(ControllerUri.AbsoluteUri + "/" + HttpUtility.UrlEncode(key.ToString()));
}
public virtual async Task RemoteGet(K key)
@@ -105,7 +106,7 @@ namespace BookAStar.Data
// Get the whole data
var uri = GetUri(key);
- using (HttpClient client = UserHelpers.CreateClient())
+ using (HttpClient client = UserHelpers.CreateJsonClient())
{
using (var response = await client.GetAsync(uri))
{
@@ -123,23 +124,27 @@ namespace BookAStar.Data
return item;
}
- public virtual async void Create(V item)
+ public virtual async Task Create(V item)
{
+ bool created = false;
BeforeExecute();
- using (HttpClient client = UserHelpers.CreateClient())
+ using (HttpClient client = UserHelpers.CreateJsonClient())
{
var stringContent = JsonConvert.SerializeObject(item);
+
HttpContent content = new StringContent(
stringContent, Encoding.UTF8, "application/json"
);
using (var response = await client.PostAsync(ControllerUri, content))
{
- if (!response.IsSuccessStatusCode)
+ created = response.IsSuccessStatusCode;
+ if (!created)
{
// TODO throw custom exception, and catch to inform user
var errcontent = await response.Content.ReadAsStringAsync();
- Debug.WriteLine($"Create failed posting {stringContent} @ {ControllerUri.AbsoluteUri}: {errcontent}");
+ Debug.WriteLine(string.Format(Strings.CreationFailed));
+ Debug.WriteLine(errcontent);
}
else
{
@@ -148,31 +153,35 @@ namespace BookAStar.Data
JsonConvert.PopulateObject(recontent, item);
}
}
-
}
CurrentItem = item;
AfterExecuting();
+ return created;
}
- public virtual async void Update(V item)
+ public virtual async Task Update(V item)
{
+ var updated = false;
BeforeExecute();
var uri = GetUri(GetKey(item));
- using (HttpClient client = UserHelpers.CreateClient())
+ using (HttpClient client = UserHelpers.CreateJsonClient())
{
HttpContent content = new StringContent(
JsonConvert.SerializeObject(item), Encoding.UTF8, "application/json"
);
using (var response = await client.PutAsync(uri, content))
{
- if (!response.IsSuccessStatusCode)
+ updated = response.IsSuccessStatusCode;
+ if (!updated)
{// TODO throw custom exception, and catch to inform user
if (response.StatusCode == HttpStatusCode.BadRequest)
{
- var recontent = await response.Content.ReadAsStringAsync();
+ var errorcontent = await response.Content.ReadAsStringAsync();
+ Debug.WriteLine(string.Format(Strings.UpdateFailed));
+ Debug.WriteLine(errorcontent);
+
}
-
else Debug.WriteLine($"Update failed ({item} @ {uri.AbsolutePath} )");
}
@@ -188,13 +197,14 @@ namespace BookAStar.Data
CurrentItem = item;
AfterExecuting();
+ return updated;
}
public virtual async void Delete(K key)
{
BeforeExecute();
var uri = GetUri(key);
- using (HttpClient client = UserHelpers.CreateClient())
+ using (HttpClient client = UserHelpers.CreateJsonClient())
{
using (var response = await client.DeleteAsync(uri))
{
diff --git a/BookAStar/BookAStar/Helpers/UserHelpers.cs b/BookAStar/BookAStar/Helpers/UserHelpers.cs
index dde41d00..d98a436f 100644
--- a/BookAStar/BookAStar/Helpers/UserHelpers.cs
+++ b/BookAStar/BookAStar/Helpers/UserHelpers.cs
@@ -17,18 +17,35 @@ namespace BookAStar.Helpers
{
var result = avatarPath == null ?
ImageSource.FromResource( "BookAStar.Images.Users.icon_user.png") :
- avatarPath.StartsWith("res://") ?
- ImageSource.FromResource(avatarPath.Substring(6)) :
- ImageSource.FromUri(new Uri(avatarPath));
+ ImageSource.FromUri(new Uri(Constants.YavscHomeUrl+"/Avatars/"+avatarPath)) ;
return result;
}
- public static HttpClient CreateClient()
+ public static ImageSource SmallAvatar(string avatarPath, string username)
+ {
+ return avatarPath == null ?
+ ImageSource.FromResource("BookAStar.Images.Users.icon_user.png") :
+ ImageSource.FromUri(new Uri($"{Constants.YavscHomeUrl}/Avatars/{username}.s.png"));
+ }
+
+ public static ImageSource ExtraSmallAvatar(string avatarPath, string username)
+ {
+ return avatarPath == null ?
+ ImageSource.FromResource("BookAStar.Images.Users.icon_user.png") :
+ ImageSource.FromUri(new Uri($"{Constants.YavscHomeUrl}/Avatars/{username}.xs.png"));
+ }
+
+ public static HttpClient CreateJsonClient()
+ {
+ return CreateJsonClient(MainSettings.CurrentUser.YavscTokens.AccessToken);
+ }
+
+ public static HttpClient CreateJsonClient(string accessToken)
{
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue(
- "Bearer", MainSettings.CurrentUser.YavscTokens.AccessToken);
+ "Bearer", accessToken);
client.DefaultRequestHeaders.Add("Accept", "application/json");
return client;
}
@@ -42,7 +59,7 @@ namespace BookAStar.Helpers
///
public static async Task Upload(Stream inputStream, string fileName)
{
- using (var client = CreateClient())
+ using (var client = CreateJsonClient())
{
using (var content =
new MultipartFormDataContent("Upload----" + DateTime.Now.ToString(CultureInfo.InvariantCulture)))
diff --git a/BookAStar/BookAStar/Images/Chat/talk.png b/BookAStar/BookAStar/Images/Chat/talk.png
new file mode 100644
index 00000000..abc00576
Binary files /dev/null and b/BookAStar/BookAStar/Images/Chat/talk.png differ
diff --git a/BookAStar/BookAStar/Model/Access/BlackListed.cs b/BookAStar/BookAStar/Model/Access/BlackListed.cs
new file mode 100644
index 00000000..b057844c
--- /dev/null
+++ b/BookAStar/BookAStar/Model/Access/BlackListed.cs
@@ -0,0 +1,28 @@
+using BookAStar.Model.Access;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yavsc.Models;
+
+namespace BookAStar.Model.Access
+{
+ public class BlackListed : IBlackListed
+ {
+ public long Id
+ {
+ get; set;
+ }
+
+ public string OwnerId
+ {
+ get; set;
+ }
+
+ public string UserId
+ {
+ get; set;
+ }
+ }
+}
diff --git a/BookAStar/BookAStar/Model/Auth/User.cs b/BookAStar/BookAStar/Model/Auth/User.cs
index bc501e48..ec1f97a3 100644
--- a/BookAStar/BookAStar/Model/Auth/User.cs
+++ b/BookAStar/BookAStar/Model/Auth/User.cs
@@ -1,16 +1,11 @@
using BookAStar.Helpers;
using Newtonsoft.Json;
-using System;
using System.Collections.Generic;
-using System.Collections.ObjectModel;
using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using Xamarin.Forms;
namespace BookAStar.Model.Auth.Account
-{
+{
public class User : INotifyPropertyChanged
{
private string id;
@@ -81,6 +76,20 @@ namespace BookAStar.Model.Auth.Account
OnPropertyChanged("Avatar");
}
}
+ private string address;
+ public string Address
+ {
+ get
+ {
+ return address;
+ }
+
+ set
+ {
+ address = value;
+ OnPropertyChanged("Address");
+ }
+ }
[JsonIgnore]
public ImageSource AvatarSource
{
diff --git a/BookAStar/BookAStar/Model/BookQueryData.cs b/BookAStar/BookAStar/Model/Booking/BookQuery.cs
similarity index 64%
rename from BookAStar/BookAStar/Model/BookQueryData.cs
rename to BookAStar/BookAStar/Model/Booking/BookQuery.cs
index 6f5ee97b..67721c49 100644
--- a/BookAStar/BookAStar/Model/BookQueryData.cs
+++ b/BookAStar/BookAStar/Model/Booking/BookQuery.cs
@@ -1,15 +1,16 @@
-using BookAStar.Interfaces;
-using BookAStar.Model.Social;
+
using System;
-namespace BookAStar.Model
+namespace BookAStar.Model.Social
{
- public class BookQueryData : IBookQueryData
+ public class BookQuery
{
public ClientProviderInfo Client { get; set; }
public Location Location { get; set; }
public long Id { get; set; }
public DateTime EventDate { get; set; }
public decimal? Previsionnal { get; set; }
+ public string Reason { get; set; }
+ public bool Read { get; set; }
}
}
diff --git a/BookAStar/BookAStar/Model/Booking/MusicalPreference.cs b/BookAStar/BookAStar/Model/Booking/MusicalPreference.cs
new file mode 100644
index 00000000..f5d7e6a1
--- /dev/null
+++ b/BookAStar/BookAStar/Model/Booking/MusicalPreference.cs
@@ -0,0 +1,12 @@
+
+namespace BookAStar.Model.Social
+{
+
+ public class MusicalPreference : MusicalTendency {
+
+ public long OwnerId { get; set; }
+ public int Rate { get; set; }
+
+ }
+
+}
diff --git a/BookAStar/BookAStar/Model/Booking/MusicalTendency.cs b/BookAStar/BookAStar/Model/Booking/MusicalTendency.cs
new file mode 100644
index 00000000..9fc9ab74
--- /dev/null
+++ b/BookAStar/BookAStar/Model/Booking/MusicalTendency.cs
@@ -0,0 +1,13 @@
+
+namespace BookAStar.Model.Social
+{
+
+ public class MusicalTendency {
+
+ public long Id {get; set; }
+
+ public string Name { get ; set; }
+
+ }
+
+}
diff --git a/BookAStar/BookAStar/Model/ClientProviderInfo.cs b/BookAStar/BookAStar/Model/ClientProviderInfo.cs
index 1a90aa20..184af689 100644
--- a/BookAStar/BookAStar/Model/ClientProviderInfo.cs
+++ b/BookAStar/BookAStar/Model/ClientProviderInfo.cs
@@ -12,22 +12,14 @@ namespace BookAStar.Model
public string Avatar { get; set; }
public string UserId { get; set; }
+ // TODO Get User Professional status existence as a boolean
+ // And hack the avatar with
public int Rate { get; set; }
+
public string EMail { get; set; }
public string Phone { get; set; }
public Location BillingAddress { get; set; }
- // TODO Get User Professional status existence as a boolean
- // And hack the avatar with
- [JsonIgnore]
- public ImageSource AvatarOrNot
- {
- get
- {
- return UserHelpers.Avatar(Avatar);
- }
- }
-
- public string ChatHubConnectionId { get; set; }
+
public override string ToString()
{
diff --git a/BookAStar/BookAStar/Model/Social/Messaging/PrivateMessage.cs b/BookAStar/BookAStar/Model/Social/Chat/ChatMessage.cs
similarity index 70%
rename from BookAStar/BookAStar/Model/Social/Messaging/PrivateMessage.cs
rename to BookAStar/BookAStar/Model/Social/Chat/ChatMessage.cs
index 8dae22c6..8c12f63a 100644
--- a/BookAStar/BookAStar/Model/Social/Messaging/PrivateMessage.cs
+++ b/BookAStar/BookAStar/Model/Social/Chat/ChatMessage.cs
@@ -1,8 +1,7 @@
-using System;
-using System.Collections.Generic;
+using BookAStar.Data;
+using Newtonsoft.Json;
+using System;
using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace BookAStar.Model.Social.Messaging
{
@@ -11,5 +10,6 @@ namespace BookAStar.Model.Social.Messaging
public DateTime Date { get; set; }
public string SenderId { get; set; }
public string Message { get; set; }
+ public bool Read { get; set; }
}
}
diff --git a/BookAStar/BookAStar/Model/Social/Messaging/ChatStatus.cs b/BookAStar/BookAStar/Model/Social/Chat/ChatStatus.cs
similarity index 100%
rename from BookAStar/BookAStar/Model/Social/Messaging/ChatStatus.cs
rename to BookAStar/BookAStar/Model/Social/Chat/ChatStatus.cs
diff --git a/BookAStar/BookAStar/Model/Social/Chat/Connection.cs b/BookAStar/BookAStar/Model/Social/Chat/Connection.cs
new file mode 100644
index 00000000..83fe7153
--- /dev/null
+++ b/BookAStar/BookAStar/Model/Social/Chat/Connection.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using YavscLib;
+
+namespace BookAStar.Model.Social.Chat
+{
+ public class Connection : IConnection
+ {
+ public bool Connected
+ {
+ get; set;
+ }
+
+ public string ConnectionId
+ {
+ get; set;
+ }
+
+ public string UserAgent
+ {
+ get; set;
+ }
+ }
+}
diff --git a/BookAStar/BookAStar/Model/Social/LocationType.cs b/BookAStar/BookAStar/Model/Social/LocationType.cs
new file mode 100644
index 00000000..3cea380c
--- /dev/null
+++ b/BookAStar/BookAStar/Model/Social/LocationType.cs
@@ -0,0 +1,10 @@
+
+namespace BookAStar.Model.Social
+{
+ public class LocationType
+ {
+ public long Id { get; set; }
+
+ public string Name { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Model/Social/Messaging/BookQuery.cs b/BookAStar/BookAStar/Model/Social/Messaging/BookQuery.cs
index d51c2267..725757bd 100644
--- a/BookAStar/BookAStar/Model/Social/Messaging/BookQuery.cs
+++ b/BookAStar/BookAStar/Model/Social/Messaging/BookQuery.cs
@@ -7,7 +7,6 @@ namespace BookAStar.Model.Workflow.Messaging
///
/// Query, for a date, with a given perfomer, at this given place.
///
-
public class BookQuery {
///
/// The command identifier
diff --git a/BookAStar/BookAStar/Model/Tag.cs b/BookAStar/BookAStar/Model/Tag.cs
index 2fb40866..ec9458df 100644
--- a/BookAStar/BookAStar/Model/Tag.cs
+++ b/BookAStar/BookAStar/Model/Tag.cs
@@ -1,5 +1,5 @@
-namespace Yavsc.Models
+namespace Yavsc.Model
{
public partial class Tag
{
diff --git a/BookAStar/BookAStar/Model/Workflow/Estimate.cs b/BookAStar/BookAStar/Model/Workflow/Estimate.cs
index 586c8185..24d7ea42 100644
--- a/BookAStar/BookAStar/Model/Workflow/Estimate.cs
+++ b/BookAStar/BookAStar/Model/Workflow/Estimate.cs
@@ -1,6 +1,4 @@
-using BookAStar.Data;
-using BookAStar.Helpers;
-using BookAStar.Model.Interfaces;
+
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
@@ -8,6 +6,9 @@ using System.Linq;
namespace BookAStar.Model.Workflow
{
+ using Data;
+ using Interfaces;
+ using Social;
public partial class Estimate : IEstimate
{
public long Id { get; set; }
@@ -26,6 +27,7 @@ namespace BookAStar.Model.Workflow
///
public List AttachedGraphics { get; set; }
[JsonIgnore]
+ // form in db
public string AttachedGraphicsString
{
get { return AttachedGraphics==null?null:string.Join(":", AttachedGraphics); }
@@ -39,6 +41,7 @@ namespace BookAStar.Model.Workflow
///
///
public List AttachedFiles { get; set; }
+ // form in db
[JsonIgnore]
public string AttachedFilesString
{
@@ -47,16 +50,28 @@ namespace BookAStar.Model.Workflow
}
public string OwnerId { get; set; }
-
+ [JsonIgnore]
+ public ClientProviderInfo Owner
+ {
+ get
+ {
+ if (!string.IsNullOrWhiteSpace(OwnerId))
+ {
+ var dm = DataManager.Instance;
+ return dm.Contacts.LocalGet(OwnerId);
+ }
+ return null;
+ }
+ }
public string ClientId { get; set; }
[JsonIgnore]
- public BookQueryData Query
+ public BookQuery Query
{
get
{
if (CommandId.HasValue)
{
- var dm = DataManager.Current;
+ var dm = DataManager.Instance;
return dm.BookQueries.LocalGet(CommandId.Value);
}
return null;
@@ -67,7 +82,7 @@ namespace BookAStar.Model.Workflow
{
get
{
- return DataManager.Current.Contacts.LocalGet(ClientId);
+ return DataManager.Instance.Contacts.LocalGet(ClientId);
}
}
@@ -77,9 +92,14 @@ namespace BookAStar.Model.Workflow
return Bill?.Aggregate((decimal)0, (t, l) => t + l.Count * l.UnitaryCost) ?? (decimal)0;
}
}
-
- public DateTime LatestValidationDate { get; set; }
-
+ ///
+ /// This validation comes first from the provider.
+ ///
+ public DateTime ProviderValidationDate { get; set; }
+ ///
+ /// Date for the agreement from the client
+ ///
public DateTime ClientApprouvalDate { get; set; }
+
}
}
diff --git a/BookAStar/BookAStar/Pages/ChatPage.xaml b/BookAStar/BookAStar/Pages/Chat/ChatPage.xaml
similarity index 86%
rename from BookAStar/BookAStar/Pages/ChatPage.xaml
rename to BookAStar/BookAStar/Pages/Chat/ChatPage.xaml
index fed06245..a80f9fcd 100644
--- a/BookAStar/BookAStar/Pages/ChatPage.xaml
+++ b/BookAStar/BookAStar/Pages/Chat/ChatPage.xaml
@@ -1,15 +1,14 @@
-
+ Style="{StaticResource PageStyle}" >
@@ -100,20 +99,15 @@
-
-
-
-
+ Orientation = "Horizontal">
+
-
-
+
+
+
+
@@ -129,7 +123,13 @@
-
+
+
+
+
+
diff --git a/BookAStar/BookAStar/Pages/ChatPage.xaml.cs b/BookAStar/BookAStar/Pages/Chat/ChatPage.xaml.cs
similarity index 50%
rename from BookAStar/BookAStar/Pages/ChatPage.xaml.cs
rename to BookAStar/BookAStar/Pages/Chat/ChatPage.xaml.cs
index 83a26464..9fc6aab8 100644
--- a/BookAStar/BookAStar/Pages/ChatPage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/Chat/ChatPage.xaml.cs
@@ -3,7 +3,7 @@ using System.Diagnostics;
using Microsoft.AspNet.SignalR.Client;
using Xamarin.Forms;
-namespace BookAStar.Pages
+namespace BookAStar.Pages.Chat
{
using Data;
using System.Linq;
@@ -12,14 +12,28 @@ namespace BookAStar.Pages
public partial class ChatPage : TabbedPage
{
public string ChatUser { get; set; }
+ public ChatPage(ChatViewModel model)
+ {
+ Init();
+ BindingContext = model;
+ }
public ChatPage()
+ {
+ Init();
+ }
+
+ private void Init()
{
InitializeComponent();
Title = "Chat";
- BindingContext = new ChatViewModel();
-
+ /*
+ ToolbarItems.Add(new ToolbarItem(
+ name: "...",
+ icon: null,
+ activated: () => { })); */
+ App.ChatHubConnection.StateChanged += ChatHubConnection_StateChanged;
sendButton.Clicked += async (sender, args) =>
{
IsBusy = true;
@@ -38,30 +52,34 @@ namespace BookAStar.Pages
IsBusy = false;
};
-
- sendPVButton.Clicked += async (sender, args) =>
+ chatUserList.BindingContext = DataManager.Instance.ChatUsers;
+
+
+ sendPVButton.Clicked += (sender, args) =>
{
- string userName = contactPicker.SelectedItem as string;
- if (string.IsNullOrEmpty(userName)) return;
- var user = DataManager.Current.Contacts.Single(
- c => c.UserName == userName);
- if (string.IsNullOrEmpty(user.ChatHubConnectionId)) return;
- IsBusy = true;
- try
-
- {
- await App.ChatHubProxy.Invoke("SendPV", user.ChatHubConnectionId, pvEntry.Text);
- pvEntry.Text = null;
- }
- catch (Exception ex)
+ var dest = chatUserList.SelectedUser;
+ if (dest!=null)
{
- Debug.WriteLine(ex);
+ IsBusy = true;
+ try
+ {
+ foreach (var cx in dest.ObservableConnections)
+ {
+ if (cx.Connected)
+ App.ChatHubProxy.Invoke("SendPV", cx.ConnectionId, pvEntry.Text);
+ }
+ pvEntry.Text = null;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex);
+ }
+ IsBusy = false;
}
- IsBusy = false;
};
-
+
}
-
+
private void ChatHubConnection_StateChanged(StateChange obj)
{
Xamarin.Forms.Device.BeginInvokeOnMainThread(
diff --git a/BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml b/BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml
new file mode 100644
index 00000000..8871c33e
--- /dev/null
+++ b/BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/Oooops/HomePage.xaml.cs b/BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml.cs
similarity index 64%
rename from BookAStar/BookAStar/Pages/Oooops/HomePage.xaml.cs
rename to BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml.cs
index d55d3c16..596162db 100644
--- a/BookAStar/BookAStar/Pages/Oooops/HomePage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/ClientPages/SearchPage.xaml.cs
@@ -6,11 +6,11 @@ using System.Threading.Tasks;
using Xamarin.Forms;
-namespace BookAStar.Pages
+namespace BookAStar.Pages.ClientPages
{
- public partial class HomePage : ContentPage
+ public partial class SearchPage : TabbedPage
{
- public HomePage()
+ public SearchPage()
{
InitializeComponent();
}
diff --git a/BookAStar/BookAStar/Pages/DocSigning.xaml b/BookAStar/BookAStar/Pages/DocSigning.xaml
index fe1dec3e..636171f3 100644
--- a/BookAStar/BookAStar/Pages/DocSigning.xaml
+++ b/BookAStar/BookAStar/Pages/DocSigning.xaml
@@ -3,7 +3,8 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:signature="clr-namespace:SignaturePad.Forms;assembly=SignaturePad.Forms"
xmlns:views="clr-namespace:BookAStar.Views;assembly=BookAStar"
- x:Class="BookAStar.ViewModels.Signing.DocSigning">
+ x:Class="BookAStar.ViewModels.Signing.Signing"
+ Style="{StaticResource PageStyle}">
-
+ ItemsSource="{Binding Queries}" x:Name="list" ItemTapped="OnViewDetail" HasUnevenRows="true"
+ SeparatorVisibility="Default" SeparatorColor="Black">
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/BookQueriesPage.xaml.cs b/BookAStar/BookAStar/Pages/EstimatePages/BookQueriesPage.xaml.cs
index 56febae2..909d3ca2 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/BookQueriesPage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/EstimatePages/BookQueriesPage.xaml.cs
@@ -14,20 +14,34 @@ namespace BookAStar.Pages
public BookQueriesPage()
{
InitializeComponent();
- var model = new BookQueriesViewModel();
- model.RefreshQueries =
- new Command( () => {
- DataManager.Current.BookQueries.Execute(null);
- this.list.EndRefresh();
- });
-
+ BindingContext = new BookQueriesViewModel();
+ }
+
+ public BookQueriesPage(BookQueriesViewModel model)
+ {
+ InitializeComponent();
BindingContext = model;
}
+ protected override void OnBindingContextChanged()
+ {
+ BookQueriesViewModel model = (BookQueriesViewModel) BindingContext;
+ if (model!=null)
+ {
+ model.RefreshQueries =
+ new Command(() =>
+ {
+ DataManager.Instance.BookQueries.Execute(null);
+ this.list.EndRefresh();
+ });
+ }
+ base.OnBindingContextChanged();
+ }
+
private void OnViewDetail(object sender, ItemTappedEventArgs e)
{
- BookQueryData data = e.Item as BookQueryData;
- App.NavigationService.NavigateTo(true,data);
+ var item = e.Item as BookQueryViewModel;
+ App.NavigationService.NavigateTo(true,item);
}
}
}
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml
index 819bdb67..fa6e5825 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml
@@ -19,20 +19,24 @@
-
+
+
-
+
+
+
-
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml.cs b/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml.cs
index f343abc1..3c4e4b7f 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/EstimatePages/BookQueryPage.xaml.cs
@@ -7,14 +7,14 @@ namespace BookAStar.Pages
{
using Data;
using EstimatePages;
- using Model;
+ using Model.Social;
using Model.Workflow;
using ViewModels.EstimateAndBilling;
public partial class BookQueryPage : ContentPage
{
- public BookQueryData BookQuery
+ public BookQuery BookQuery
{
get
{
@@ -32,14 +32,14 @@ namespace BookAStar.Pages
var pin = new Pin
{
Type = PinType.SavedPin,
- Position = new Position(
- lat, lon),
+ Position = new Xamarin.Forms.Maps.Position
+ (lat, lon),
Label = BookQuery.Client.UserName,
Address = BookQuery.Location.Address
};
map.Pins.Add(pin);
map.MoveToRegion(MapSpan.FromCenterAndRadius(
- new Position(lat, lon), Distance.FromMeters(100)));
+ new Xamarin.Forms.Maps.Position(lat, lon), Distance.FromMeters(100)));
}
}
@@ -47,14 +47,14 @@ namespace BookAStar.Pages
{
InitializeComponent();
}
- public BookQueryPage(BookQueryData bookQuery=null)
+ public BookQueryPage(BookQueryViewModel bookQuery =null)
{
InitializeComponent();
-
+ // when TODO update?
// Task.Run( async () => { bookQuery = await App.CurrentApp.DataManager.BookQueries.Get(bookQueryId); });
- BindingContext = new BookQueryViewModel(bookQuery);
+ BindingContext = bookQuery;
}
private void OnEditEstimate(object sender, EventArgs ev)
@@ -65,31 +65,25 @@ namespace BookAStar.Pages
if (editEstimateViewModel == null)
{
// First search for an existing estimate
- var estimateToEdit = DataManager.Current.Estimates.FirstOrDefault(
- estimate=> estimate.CommandId == bookQueryViewModel.Id
+ editEstimateViewModel = DataManager.Instance.EstimationCache.FirstOrDefault(
+ estimate=> estimate.Query.Id == bookQueryViewModel.Id
);
- if (estimateToEdit == null)
+ if (editEstimateViewModel == null)
{
- DataManager.Current.Contacts.Merge(BookQuery.Client);
- DataManager.Current.Contacts.SaveEntity();
- estimateToEdit = new Estimate
+ DataManager.Instance.Contacts.Merge(BookQuery.Client);
+ DataManager.Instance.Contacts.SaveEntity();
+ editEstimateViewModel = new EditEstimateViewModel( new Estimate
{
ClientId = BookQuery.Client.UserId,
CommandId = BookQuery.Id,
OwnerId = MainSettings.CurrentUser.Id,
Id = 0
- };
- editEstimateViewModel = new EditEstimateViewModel(estimateToEdit);
+ });
+ DataManager.Instance.EstimationCache.Add(editEstimateViewModel);
}
- else
- editEstimateViewModel = new EditEstimateViewModel(estimateToEdit);
-
- DataManager.Current.EstimationCache.Add(editEstimateViewModel);
}
App.NavigationService.NavigateTo(true,
editEstimateViewModel);
-
-
}
private async void OnViewEstimate(object sender, EventArgs ev)
@@ -118,5 +112,13 @@ namespace BookAStar.Pages
}
base.OnSizeAllocated(width, height);
}
+ private void OnBlockThisUser(object sender, EventArgs ev)
+ {
+ throw new NotImplementedException();
+ }
+ private void OnDropQuery(object sender, EventArgs ev)
+ {
+ throw new NotImplementedException();
+ }
}
}
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml
index 5384e39c..1800c6aa 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml
@@ -44,12 +44,16 @@
-
-
+
-
+
+
+
+
@@ -95,7 +102,7 @@
-
+
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml.cs b/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml.cs
index da6674f3..770ff278 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EditBillingLinePage.xaml.cs
@@ -17,14 +17,17 @@ namespace BookAStar.Pages
picker.Items.Add(du);
BindingContext = model;
}
+
public void OnDeleteClicked(object sender, EventArgs e)
{
- throw new NotImplementedException();
+ this.Navigation.PopAsync();
}
+
public void OnValidateClicked (object sender, EventArgs e)
{
this.Navigation.PopAsync();
}
+
protected override bool OnBackButtonPressed()
{
var bvm = (BillingLineViewModel)BindingContext;
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml
index 4dbb56b3..0e3bbc62 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml
@@ -2,8 +2,11 @@
@@ -13,14 +16,32 @@
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
+
@@ -34,18 +55,20 @@
+ Markdown="{Binding Description, Mode=TwoWay}">
+
+
+
+
+
+ HasUnevenRows="true" ItemTapped="OnEditLine">
-
-
+
+
@@ -54,6 +77,7 @@
+
@@ -64,6 +88,9 @@
+
@@ -73,10 +100,9 @@
-
+
-
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml.cs b/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml.cs
index 89e96add..163d8b12 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EditEstimatePage.xaml.cs
@@ -4,16 +4,36 @@ using Xamarin.Forms;
namespace BookAStar.Pages
{
using Data;
+ using EstimatePages;
using Model.Workflow;
using ViewModels.EstimateAndBilling;
+ using ViewModels.Signing;
public partial class EditEstimatePage : ContentPage
{
-
+ public EditEstimateViewModel Model
+ {
+ get
+ {
+ return (EditEstimateViewModel)BindingContext;
+ }
+ }
public EditEstimatePage(EditEstimateViewModel model)
{
- InitializeComponent();
BindingContext = model;
+ Model.CheckCommand = new Action(
+ (e, m) =>
+ {
+ foreach (var line in model.Bill)
+ {
+ line.Check();
+ if (!line.ViewModelState.IsValid)
+ model.ViewModelState.AddError("Bill", "invalid line");
+ }
+ });
+
+ InitializeComponent();
+ Model.Check();
}
protected override void OnBindingContextChanged()
@@ -24,7 +44,7 @@ namespace BookAStar.Pages
private void EditEstimatePage_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
- DataManager.Current.EstimationCache.SaveEntity();
+ DataManager.Instance.EstimationCache.SaveEntity();
}
protected override void OnSizeAllocated(double width, double height)
@@ -46,54 +66,62 @@ namespace BookAStar.Pages
var bill = ((EditEstimateViewModel)BindingContext).Bill;
var lineView = new BillingLineViewModel(com)
{ ValidateCommand = new Command(() => {
- bill.Add(com);
- DataManager.Current.EstimationCache.SaveEntity();
+ bill.Add(new BillingLineViewModel(com));
+ DataManager.Instance.EstimationCache.SaveEntity();
})};
- lineView.PropertyChanged += LineView_PropertyChanged;
App.NavigationService.NavigateTo(
true, lineView );
}
protected void OnEditLine(object sender, ItemTappedEventArgs e)
{
- var line = (BillingLine)e.Item;
- var bill = ((EditEstimateViewModel)BindingContext).Bill;
- var lineView = new BillingLineViewModel(line)
- {
- ValidateCommand = new Command(() => {
- DataManager.Current.EstimationCache.SaveEntity();
- })
- };
- lineView.PropertyChanged += LineView_PropertyChanged;
- lineView.PropertyChanged += LineView_PropertyChanged;
+ var line = (BillingLineViewModel)e.Item;
+ var evm = ((EditEstimateViewModel)BindingContext);
+ // update the validation command, that
+ // was creating a new line in the bill at creation time,
+ // now one only wants to update the line
+ line.ValidateCommand = new Command(() =>
+ {
+ evm.Check();
+ DataManager.Instance.EstimationCache.SaveEntity();
+ });
+ // and setup a removal command, that was not expected at creation time
+ line.RemoveCommand = new Command(() =>
+ {
+ evm.Bill.Remove(line);
+ evm.Check();
+ DataManager.Instance.EstimationCache.SaveEntity();
+ });
App.NavigationService.NavigateTo(
- true, lineView );
- }
-
-
- private void LineView_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
- {
- DataManager.Current.EstimationCache.SaveEntity();
+ true, line );
+ BillListView.SelectedItem = null;
}
- protected void OnEstimateValidated(object sender, EventArgs e)
+ protected async void OnEstimateValidated(object sender, EventArgs e)
{
- var evm = (EditEstimateViewModel)BindingContext;
- if (evm.Data.Id == 0)
+
+ var thisPage = this;
+ var evm = (EditEstimateViewModel) BindingContext;
+ var cmd = new Command( async (validated) =>
{
- DataManager.Current.Estimates.Create(evm.Data);
- // we have to manually add this item in our local collection,
- // since we could prefer to update the whole collection
- // from server, or whatever other scenario
- DataManager.Current.Estimates.Add(evm.Data);
- } else
+ if (validated) {
+ DataManager.Instance.EstimationCache.Remove(evm);
+ DataManager.Instance.EstimationCache.SaveEntity();
+ }
+ await thisPage.Navigation.PopAsync();
+ });
+ var response = await App.DisplayActionSheet(
+ Strings.SignOrNot, Strings.DonotsignEstimate,
+ Strings.CancelValidation, new string[] { Strings.Sign });
+ if (response == Strings.Sign)
{
- DataManager.Current.Estimates.Update(evm.Data);
+ App.NavigationService.NavigateTo(true,
+ new EstimateSigningViewModel(evm.Data) { ValidationCommand = cmd });
}
- DataManager.Current.Estimates.SaveEntity();
- DataManager.Current.EstimationCache.Remove(evm);
- DataManager.Current.EstimationCache.SaveEntity();
- Navigation.PopAsync();
+ else if (response == Strings.CancelValidation)
+ return;
+ else cmd.Execute(true);
+
}
}
}
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml
new file mode 100644
index 00000000..393ef642
--- /dev/null
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml.cs b/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml.cs
new file mode 100644
index 00000000..d72793b6
--- /dev/null
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EstimateSigningPage.xaml.cs
@@ -0,0 +1,74 @@
+using SignaturePad.Forms;
+using System;
+using System.IO;
+using System.Linq;
+using Xamarin.Forms;
+
+namespace BookAStar.Pages.EstimatePages
+{
+ using Data;
+ using ViewModels.EstimateAndBilling;
+ using ViewModels.Signing;
+
+ public partial class EstimateSigningPage : ContentPage
+ {
+
+ public EstimateSigningPage(EstimateSigningViewModel model)
+ {
+ InitializeComponent();
+ BindingContext = model;
+ }
+
+ private async void OnValidate (object sender, EventArgs ev)
+ {
+ btnValidate.IsEnabled = false;
+ if (DataManager.Instance.Estimates.IsExecuting)
+ {
+ await App.DisplayAlert(Strings.OperationPending, Strings.oups);
+ return;
+ }
+
+ var evm = (EditEstimateViewModel)BindingContext;
+ var estimate = evm.Data;
+ var pngStream = await padView.GetImageStreamAsync(SignatureImageFormat.Png);
+ pngStream.Seek(0, SeekOrigin.Begin);
+ DataManager.Instance.Estimates.SignAsProvider(estimate, pngStream);
+ DataManager.Instance.Estimates.SaveEntity();
+ await Navigation.PopAsync();
+
+ var ParentValidationCommand = ((EstimateSigningViewModel)BindingContext).ValidationCommand;
+ if (ParentValidationCommand != null)
+ ParentValidationCommand.Execute(true);
+ }
+
+
+ private async void OnChangeTheme(object sender, EventArgs e)
+ {
+ var action = await DisplayActionSheet("Change Theme", "Cancel", null, "White", "Black", "Aqua");
+ switch (action)
+ {
+ case "White":
+ padView.BackgroundColor = Color.White;
+ padView.StrokeColor = Color.Black;
+ padView.ClearTextColor = Color.Black;
+ padView.ClearText = "Clear Markers";
+ break;
+
+ case "Black":
+ padView.BackgroundColor = Color.Black;
+ padView.StrokeColor = Color.White;
+ padView.ClearTextColor = Color.White;
+ padView.ClearText = "Clear Chalk";
+ break;
+
+ case "Aqua":
+ padView.BackgroundColor = Color.Aqua;
+ padView.StrokeColor = Color.Red;
+ padView.ClearTextColor = Color.Black;
+ padView.ClearText = "Clear The Aqua";
+ break;
+ }
+
+ }
+ }
+}
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EstimatesClientPage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/EstimatesClientPage.xaml
index 3bd2519d..78e7222d 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EstimatesClientPage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EstimatesClientPage.xaml
@@ -1,7 +1,40 @@
-
-
+ x:Class="BookAStar.Pages.EstimatesClientPage"
+ Style="{StaticResource PageStyle}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/EstimatesProviderPage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/EstimatesProviderPage.xaml
index c16bd7ea..6df82d7c 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/EstimatesProviderPage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/EstimatesProviderPage.xaml
@@ -1,7 +1,8 @@
+ x:Class="BookAStar.Pages.EstimatesProviderPage"
+ Style="{StaticResource PageStyle}">
diff --git a/BookAStar/BookAStar/Pages/EstimatePages/ViewEstimatePage.xaml b/BookAStar/BookAStar/Pages/EstimatePages/ViewEstimatePage.xaml
index 60989c24..ca37f199 100644
--- a/BookAStar/BookAStar/Pages/EstimatePages/ViewEstimatePage.xaml
+++ b/BookAStar/BookAStar/Pages/EstimatePages/ViewEstimatePage.xaml
@@ -33,9 +33,6 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/HomePage.xaml.cs b/BookAStar/BookAStar/Pages/HomePage.xaml.cs
new file mode 100644
index 00000000..f8280f30
--- /dev/null
+++ b/BookAStar/BookAStar/Pages/HomePage.xaml.cs
@@ -0,0 +1,55 @@
+using Xamarin.Forms;
+
+namespace BookAStar.Pages
+{
+ using Data;
+ using ViewModels;
+ using ViewModels.EstimateAndBilling;
+ public partial class HomePage
+ {
+ public HomePage()
+ {
+ InitializeComponent();
+ }
+
+ public HomePage(HomeViewModel model)
+ {
+ BindingContext = model;
+ }
+
+ public HomeViewModel Model {
+ get {
+ return (HomeViewModel) BindingContext;
+ }
+ set
+ {
+ BindingContext = value;
+ }
+ }
+
+ protected override void OnBindingContextChanged()
+ {
+ // this technique make this view model
+ // non-sharable between view or pages
+ if (Model != null)
+ {
+ // set the refresh command before using it
+ Model.BookQueries.RefreshQueries =
+ new Command(() =>
+ {
+ DataManager.Instance.BookQueries.Execute(null);
+ this.querylist.EndRefresh();
+ });
+ }
+ // Use the new refresh command
+ base.OnBindingContextChanged();
+
+ }
+
+ private void OnViewBookQueryDetail(object sender, ItemTappedEventArgs e)
+ {
+ var item = e.Item as BookQueryViewModel;
+ App.NavigationService.NavigateTo(true, item);
+ }
+ }
+}
diff --git a/BookAStar/BookAStar/Pages/Oooops/HomePage.xaml b/BookAStar/BookAStar/Pages/Oooops/HomePage.xaml
deleted file mode 100644
index 0e0badb7..00000000
--- a/BookAStar/BookAStar/Pages/Oooops/HomePage.xaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml b/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml
deleted file mode 100644
index 3ca1d71e..00000000
--- a/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml.cs b/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml.cs
deleted file mode 100644
index 0832e204..00000000
--- a/BookAStar/BookAStar/Pages/Oooops/SearchPage.xaml.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using Xamarin.Forms;
-using System.Collections.ObjectModel;
-using BookAStar.Model.Social;
-using BookAStar.Model.Workflow.Messaging;
-using BookAStar.Pages;
-
-namespace BookAStar
-{
- public partial class SearchPage : ContentPage
- {
- public ObservableCollection Events { get; private set; }
- public SearchPage ()
- {
-
- InitializeComponent ();
-
- BindingContext = this;
- Events = Manager.Events;
- list.ItemTapped += async (object sender, ItemTappedEventArgs e) => {
- await Navigation.PushAsync(new EventDetail( (YaEvent) e.Item) { Title = "Détail de la soirée" } );
- };
- search_date.Date = DateTime.Now;
- search_date.MinimumDate = DateTime.Now;
- search_phrase.Text = "Suresnes";
- btn_update.Clicked += (object sender, EventArgs e) => {
- //
- };
- }
- }
-}
diff --git a/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml b/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml
index 31062f0d..93785c6c 100644
--- a/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml
+++ b/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml
@@ -3,7 +3,8 @@
xmlns:local="clr-namespace:BookAStar;assembly=BookAStar"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="BookAStar.Pages.UserProfile.AccountChooserPage"
- Title="Paramètres Booking star" Style="{StaticResource PageStyle}"
+ Title="{x:Static local:Strings.UserAccounts}"
+ Style="{StaticResource PageStyle}"
xmlns:lc="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
xmlns:lb="clr-namespace:XLabs.Forms.Behaviors;assembly=XLabs.Forms">
@@ -13,6 +14,7 @@
@@ -20,17 +22,18 @@
-
+
-
-
-
+
+
+
+
+
diff --git a/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml.cs b/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml.cs
index 01bc58ca..fdc5cbfb 100644
--- a/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml.cs
+++ b/BookAStar/BookAStar/Pages/UserProfile/AccountChooserPage.xaml.cs
@@ -14,37 +14,24 @@ namespace BookAStar.Pages.UserProfile
public partial class AccountChooserPage : ContentPage
{
- public ICommand RemoteSettingsRefreshCommand { get; private set; }
-
+
public AccountChooserPage ()
{
InitializeComponent ();
- AccountListView.ItemsSource = MainSettings.AccountList;
-
- this.Musical = MainSettings.Musical;
- this.Environ = MainSettings.Environ;
- this.BindingContext = this;
-
AddAccountBtn.Clicked += AddAccountBtn_Clicked;
- // avatarImage.
//RemoveAccountBouton.Clicked += RemoveAccountBouton_Clicked;
AccountListView.ItemSelected += Accounts_ItemSelected;
- DumpParam = new RelayGesture((g, x) =>
- {
- if (g.GestureType == GestureType.Swipe && g.Direction == Directionality.Left)
- {
- RemoveAccount();
- }
- });
+ // MainSettings.UserChanged += MainSettings_UserChanged;
+ }
+ // Should be useless
+ private void MainSettings_UserChanged(object sender, EventArgs e)
+ {
+ AccountListView.SelectedItem = MainSettings.CurrentUser;
+ throw new NotImplementedException();
}
-
- public RelayGesture DumpParam { get; set; }
- public ObservableCollection Accounts { get; private set; }
- public Dictionary Musical { get; private set; }
- public Dictionary Environ { get; private set; }
private void Accounts_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
@@ -68,7 +55,6 @@ namespace BookAStar.Pages.UserProfile
protected override void OnAppearing()
{
base.OnAppearing();
- AccountListView.SelectedItem = MainSettings.CurrentUser;
}
private void AddAccountBtn_Clicked(object sender, EventArgs e)
diff --git a/BookAStar/BookAStar/Pages/UserProfile/DashboardPage.xaml b/BookAStar/BookAStar/Pages/UserProfile/DashboardPage.xaml
index d0b929ff..c29dd55a 100644
--- a/BookAStar/BookAStar/Pages/UserProfile/DashboardPage.xaml
+++ b/BookAStar/BookAStar/Pages/UserProfile/DashboardPage.xaml
@@ -7,7 +7,7 @@
x:Class="BookAStar.Pages.UserProfile.DashboardPage"
xmlns:lc="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
xmlns:lb="clr-namespace:XLabs.Forms.Behaviors;assembly=XLabs.Forms"
- Style="{StaticResource PageStyle}">
+ Style="{StaticResource DashboardPageStyle}">
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/BookAStar/BookAStar/Views/UserListView.xaml.cs b/BookAStar/BookAStar/Views/UserListView.xaml.cs
index 18f5daac..e4b080b0 100644
--- a/BookAStar/BookAStar/Views/UserListView.xaml.cs
+++ b/BookAStar/BookAStar/Views/UserListView.xaml.cs
@@ -1,4 +1,6 @@
using BookAStar.Model;
+using BookAStar.Model.Social.Chat;
+using BookAStar.ViewModels.Messaging;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -6,7 +8,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-
+using System.Windows.Input;
using Xamarin.Forms;
namespace BookAStar.Views
@@ -14,23 +16,81 @@ namespace BookAStar.Views
public partial class UserListView : ContentView
{
public BindableProperty ItemsSourceProperty = BindableProperty.Create(
- "ItemsSource", typeof(IEnumerable), typeof(UserListView));
+ "ItemsSource", typeof(ChatUserCollection), typeof(UserListView), default(ChatUserCollection),
+ BindingMode.OneWay);
+
+ public BindableProperty ItemSelectedCommandProperty = BindableProperty.Create(
+ "ItemSelectedCommand", typeof(ICommand), typeof(UserListView), default(ICommand));
+
+ public BindableProperty DisableSelectionProperty = BindableProperty.Create(
+ "DisableSelection", typeof(bool), typeof(UserListView), false);
- public IEnumerable ItemsSource
+ public BindableProperty HasASelectionProperty = BindableProperty.Create(
+ "HasASelection", typeof(bool), typeof(UserListView), false);
+
+ public BindableProperty SelectedUserProperty = BindableProperty.Create(
+ "SelectedUser", typeof(ChatUserInfo), typeof(UserListView), default(ChatUserInfo));
+
+ public ChatUserCollection ItemsSource
{
- get { return list.ItemsSource; }
- set { list.ItemsSource = value; }
+ get { return (ChatUserCollection) GetValue(ItemsSourceProperty); }
+ set { SetValue(ItemsSourceProperty, value); }
}
- /* public IEnumerable ItemsSource
+ public ChatUserInfo SelectedUser
{
- get { return GetValue(ItemsSourceProperty) as IEnumerable; }
- set { SetValue(ItemsSourceProperty, value); }
+ get
+ {
+ return (ChatUserInfo) GetValue(SelectedUserProperty);
+ }
+ }
+
+ public ICommand ItemSelectedCommand
+ {
+ get { return (ICommand) GetValue(ItemSelectedCommandProperty); }
+ set { SetValue(ItemSelectedCommandProperty, value); }
+ }
+
+ public bool DisableSelection
+ {
+ get { return (bool) GetValue(DisableSelectionProperty); }
+ set { SetValue(DisableSelectionProperty, value); }
+ }
+
+ public bool HasASelection
+ {
+ get { return (bool)GetValue(HasASelectionProperty); }
+ set { SetValue(HasASelectionProperty, value); }
}
- */
+
public UserListView()
{
InitializeComponent();
+ list.ItemSelected += OnUserSelected;
+ }
+
+ protected override void OnBindingContextChanged()
+ {
+ base.OnBindingContextChanged();
+ ICommand dataCommand = (ICommand) BindingContext;
+ list.RefreshCommand = new Command(
+ () => {
+ dataCommand.Execute(null);
+ list.EndRefresh();
+ });
+ }
+
+ public void OnUserSelected(object sender, SelectedItemChangedEventArgs ev)
+ {
+ if (ItemSelectedCommand != null)
+ if (ItemSelectedCommand.CanExecute(ev.SelectedItem))
+ {
+ ItemSelectedCommand.Execute(ev.SelectedItem);
+ }
+ if (DisableSelection)
+ list.SelectedItem = null;
+ SetValue(SelectedUserProperty, list.SelectedItem);
+ HasASelection = list.SelectedItem != null;
}
}
diff --git a/Yavsc/ApiControllers/AccountController.cs b/Yavsc/ApiControllers/AccountController.cs
index cf28fd5c..bbc82cb8 100644
--- a/Yavsc/ApiControllers/AccountController.cs
+++ b/Yavsc/ApiControllers/AccountController.cs
@@ -144,7 +144,7 @@ namespace Yavsc.WebApi.Controllers
/// MyUpdate containing the new user name
/// Ok when all is ok.
[HttpPut("~/api/me")]
- public async Task UpdateMe(MyUpdate me)
+ public async Task UpdateMe(UserInfo me)
{
if (!ModelState.IsValid) return new BadRequestObjectResult(
new { error = "Specify some valid user update request." });
diff --git a/Yavsc/ApiControllers/BlackListApiController.cs b/Yavsc/ApiControllers/BlackListApiController.cs
new file mode 100644
index 00000000..379eea9a
--- /dev/null
+++ b/Yavsc/ApiControllers/BlackListApiController.cs
@@ -0,0 +1,165 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Claims;
+using Microsoft.AspNet.Authorization;
+using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Mvc;
+using Microsoft.Data.Entity;
+using Yavsc.Models;
+using Yavsc.Models.Access;
+
+namespace Yavsc.Controllers
+{
+ [Produces("application/json")]
+ [Route("api/blacklist"), Authorize]
+ public class BlackListApiController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public BlackListApiController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: api/BlackListApi
+ [HttpGet]
+ public IEnumerable GetBlackListed()
+ {
+ return _context.BlackListed;
+ }
+
+ // GET: api/BlackListApi/5
+ [HttpGet("{id}", Name = "GetBlackListed")]
+ public IActionResult GetBlackListed([FromRoute] long id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+ BlackListed blackListed = _context.BlackListed.Single(m => m.Id == id);
+ if (blackListed == null)
+ {
+ return HttpNotFound();
+ }
+ if (!CheckPermission(blackListed))
+ return HttpBadRequest();
+
+ return Ok(blackListed);
+ }
+
+ private bool CheckPermission(BlackListed blackListed)
+ {
+ var uid = User.GetUserId();
+ if (uid != blackListed.OwnerId)
+ if (!User.IsInRole(Constants.AdminGroupName))
+ if (!User.IsInRole(Constants.FrontOfficeGroupName))
+ return false;
+ return true;
+ }
+ // PUT: api/BlackListApi/5
+ [HttpPut("{id}")]
+ public IActionResult PutBlackListed(long id, [FromBody] BlackListed blackListed)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ if (id != blackListed.Id)
+ {
+ return HttpBadRequest();
+ }
+ if (!CheckPermission(blackListed))
+ return HttpBadRequest();
+ _context.Entry(blackListed).State = EntityState.Modified;
+
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateConcurrencyException)
+ {
+ if (!BlackListedExists(id))
+ {
+ return HttpNotFound();
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return new HttpStatusCodeResult(StatusCodes.Status204NoContent);
+ }
+
+ // POST: api/BlackListApi
+ [HttpPost]
+ public IActionResult PostBlackListed([FromBody] BlackListed blackListed)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ if (!CheckPermission(blackListed))
+ return HttpBadRequest();
+
+ _context.BlackListed.Add(blackListed);
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateException)
+ {
+ if (BlackListedExists(blackListed.Id))
+ {
+ return new HttpStatusCodeResult(StatusCodes.Status409Conflict);
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return CreatedAtRoute("GetBlackListed", new { id = blackListed.Id }, blackListed);
+ }
+
+ // DELETE: api/BlackListApi/5
+ [HttpDelete("{id}")]
+ public IActionResult DeleteBlackListed(long id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ BlackListed blackListed = _context.BlackListed.Single(m => m.Id == id);
+ if (blackListed == null)
+ {
+ return HttpNotFound();
+ }
+
+ if (!CheckPermission(blackListed))
+ return HttpBadRequest();
+
+ _context.BlackListed.Remove(blackListed);
+ _context.SaveChanges();
+
+ return Ok(blackListed);
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ _context.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private bool BlackListedExists(long id)
+ {
+ return _context.BlackListed.Count(e => e.Id == id) > 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yavsc/ApiControllers/BookQueryApiController.cs b/Yavsc/ApiControllers/BookQueryApiController.cs
index ead226c6..4452f058 100644
--- a/Yavsc/ApiControllers/BookQueryApiController.cs
+++ b/Yavsc/ApiControllers/BookQueryApiController.cs
@@ -11,6 +11,7 @@ namespace Yavsc.Controllers
{
using System;
using Yavsc.Model;
+ using Yavsc.Models.Messaging;
using Yavsc.Models;
using Yavsc.Models.Booking;
@@ -40,14 +41,19 @@ namespace Yavsc.Controllers
var now = DateTime.Now;
var result = _context.Commands.Include(c => c.Location).
- Include(c => c.Client).Where(c => c.PerformerId == uid && c.Id < maxId && c.EventDate > now).
+ Include(c => c.Client).Where(c => c.PerformerId == uid && c.Id < maxId && c.EventDate > now
+ && c.ValidationDate == null).
Select(c => new BookQueryProviderInfo
{
- Client = new ClientProviderInfo { UserName = c.Client.UserName, UserId = c.ClientId },
+ Client = new ClientProviderInfo {
+ UserName = c.Client.UserName,
+ UserId = c.ClientId,
+ Avatar = c.Client.Avatar },
Location = c.Location,
EventDate = c.EventDate,
Id = c.Id,
- Previsional = c.Previsional
+ Previsional = c.Previsional,
+ Reason = c.Reason
}).
OrderBy(c=>c.Id).
Take(25);
diff --git a/Yavsc/ApiControllers/ChatApiController.cs b/Yavsc/ApiControllers/ChatApiController.cs
index 9b5f83fb..77145d85 100644
--- a/Yavsc/ApiControllers/ChatApiController.cs
+++ b/Yavsc/ApiControllers/ChatApiController.cs
@@ -6,33 +6,47 @@ using Microsoft.Data.Entity;
namespace Yavsc.Controllers
{
+ using Microsoft.AspNet.Identity;
using Models;
using ViewModels.Chat;
[Route("api/chat")]
public class ChatApiController : Controller
{
+ ApplicationDbContext dbContext;
+ UserManager userManager;
+ public ChatApiController(ApplicationDbContext dbContext,
+ UserManager userManager)
+ {
+ this.dbContext = dbContext;
+ this.userManager = userManager;
+ }
[HttpGet("users")]
- public List GetUserList()
+ public IEnumerable GetUserList()
{
- using (var db = new ApplicationDbContext()) {
-
- var cxsQuery = db.Connections.Include(c=>c.Owner).GroupBy( c => c.ApplicationUserId );
+ List result = new List();
+ var cxsQuery = dbContext.Connections?.Include(c=>c.Owner).GroupBy( c => c.ApplicationUserId );
- List result = new List();
+ // List result = new List();
+ if (cxsQuery!=null)
+ foreach (var g in cxsQuery) {
- foreach (var g in cxsQuery) {
-
- var uid = g.Key;
- var cxs = g.ToList();
+ var uid = g.Key;
+ var cxs = g.ToList();
+ if (cxs !=null)
+ if (cxs.Count>0) {
var user = cxs.First().Owner;
-
- result.Add(new ChatUserInfo { UserName = user.UserName,
- UserId = user.Id, Avatar = user.Avatar, Connections = cxs } );
-
- }
- return result;
+ if (user!=null ) {
+ result.Add(new ChatUserInfo { UserName = user.UserName,
+ UserId = user.Id, Avatar = user.Avatar, Connections = cxs,
+ Roles = ( userManager.GetRolesAsync(user) ).Result.ToArray() });
+ }
+ else {
+ result.Add(new ChatUserInfo { Connections = cxs });
+ }
+ }
}
+ return result;
}
}
}
diff --git a/Yavsc/ApiControllers/ContactsApiController.cs b/Yavsc/ApiControllers/ContactsApiController.cs
index d031c485..6e217d26 100644
--- a/Yavsc/ApiControllers/ContactsApiController.cs
+++ b/Yavsc/ApiControllers/ContactsApiController.cs
@@ -1,10 +1,9 @@
-using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc;
using Microsoft.Data.Entity;
-using Yavsc.Model;
using Yavsc.Models;
+using Yavsc.Models.Messaging;
namespace Yavsc.Controllers
{
@@ -20,29 +19,10 @@ namespace Yavsc.Controllers
}
// GET: api/ContactsApi
- [HttpGet]
- public IEnumerable GetClientProviderInfo()
+ [HttpGet("{id}")]
+ public ClientProviderInfo GetClientProviderInfo(string id)
{
- return _context.ClientProviderInfo;
- }
-
- // GET: api/ContactsApi/5
- [HttpGet("{id}", Name = "GetClientProviderInfo")]
- public IActionResult GetClientProviderInfo([FromRoute] string id)
- {
- if (!ModelState.IsValid)
- {
- return HttpBadRequest(ModelState);
- }
-
- ClientProviderInfo clientProviderInfo = _context.ClientProviderInfo.Single(m => m.UserId == id);
-
- if (clientProviderInfo == null)
- {
- return HttpNotFound();
- }
-
- return Ok(clientProviderInfo);
+ return _context.ClientProviderInfo.FirstOrDefault(c=>c.UserId == id);
}
// PUT: api/ContactsApi/5
diff --git a/Yavsc/ApiControllers/DjProfileApiController.cs b/Yavsc/ApiControllers/DjProfileApiController.cs
new file mode 100644
index 00000000..f0471658
--- /dev/null
+++ b/Yavsc/ApiControllers/DjProfileApiController.cs
@@ -0,0 +1,15 @@
+
+
+namespace Yavsc.ApiControllers
+{
+ using Models;
+ using Models.Booking.Profiles;
+
+ public class DjProfileApiController : ProfileApiController
+ {
+ public DjProfileApiController(ApplicationDbContext context) : base(context)
+ {
+
+ }
+ }
+}
diff --git a/Yavsc/ApiControllers/EstimateApiController.cs b/Yavsc/ApiControllers/EstimateApiController.cs
index 3b35502d..59e601ab 100644
--- a/Yavsc/ApiControllers/EstimateApiController.cs
+++ b/Yavsc/ApiControllers/EstimateApiController.cs
@@ -68,7 +68,6 @@ namespace Yavsc.Controllers
[HttpPut("{id}")]
public IActionResult PutEstimate(long id, [FromBody] Estimate estimate)
{
- var valdate = DateTime.Now;
if (!ModelState.IsValid)
{
@@ -90,7 +89,6 @@ namespace Yavsc.Controllers
}
var entry = _context.Attach(estimate);
- estimate.ProviderValidationDate = valdate;
try
{
_context.SaveChanges();
@@ -107,7 +105,7 @@ namespace Yavsc.Controllers
}
}
- return Ok( new { Id = estimate.Id, LatestValidationDate = valdate });
+ return Ok( new { Id = estimate.Id });
}
// POST: api/Estimate
@@ -127,10 +125,15 @@ namespace Yavsc.Controllers
return HttpBadRequest(ModelState);
}
}
- var valdate = DateTime.Now;
- estimate.ProviderValidationDate = valdate;
-
+ if (estimate.CommandId!=null) {
+ var query = _context.BookQueries.FirstOrDefault(q => q.Id == estimate.CommandId);
+ if (query == null || query.PerformerId!= uid)
+ throw new InvalidOperationException();
+ query.ValidationDate = DateTime.Now;
+ }
_context.Estimates.Add(estimate);
+
+
/* _context.AttachRange(estimate.Bill);
_context.Attach(estimate);
_context.Entry(estimate).State = EntityState.Added;
@@ -153,7 +156,7 @@ namespace Yavsc.Controllers
throw;
}
}
- return Ok( new { Id = estimate.Id, Bill = estimate.Bill , LatestValidationDate = valdate });
+ return Ok( new { Id = estimate.Id, Bill = estimate.Bill });
}
// DELETE: api/Estimate/5
diff --git a/Yavsc/ApiControllers/MusicalPreferencesApiController.cs b/Yavsc/ApiControllers/MusicalPreferencesApiController.cs
new file mode 100644
index 00000000..b75931fe
--- /dev/null
+++ b/Yavsc/ApiControllers/MusicalPreferencesApiController.cs
@@ -0,0 +1,147 @@
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Mvc;
+using Microsoft.Data.Entity;
+using Yavsc.Models;
+using Yavsc.Models.Booking;
+
+namespace Yavsc.Controllers
+{
+ [Produces("application/json")]
+ [Route("api/museprefs")]
+ public class MusicalPreferencesApiController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public MusicalPreferencesApiController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: api/MusicalPreferencesApi
+ [HttpGet]
+ public IEnumerable GetMusicalPreferences()
+ {
+ return _context.MusicalPreferences;
+ }
+
+ // GET: api/MusicalPreferencesApi/5
+ [HttpGet("{id}", Name = "GetMusicalPreference")]
+ public IActionResult GetMusicalPreference([FromRoute] string id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ MusicalPreference musicalPreference = _context.MusicalPreferences.Single(m => m.OwnerProfileId == id);
+
+ if (musicalPreference == null)
+ {
+ return HttpNotFound();
+ }
+
+ return Ok(musicalPreference);
+ }
+
+ // PUT: api/MusicalPreferencesApi/5
+ [HttpPut("{id}")]
+ public IActionResult PutMusicalPreference(string id, [FromBody] MusicalPreference musicalPreference)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ if (id != musicalPreference.OwnerProfileId)
+ {
+ return HttpBadRequest();
+ }
+
+ _context.Entry(musicalPreference).State = EntityState.Modified;
+
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateConcurrencyException)
+ {
+ if (!MusicalPreferenceExists(id))
+ {
+ return HttpNotFound();
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return new HttpStatusCodeResult(StatusCodes.Status204NoContent);
+ }
+
+ // POST: api/MusicalPreferencesApi
+ [HttpPost]
+ public IActionResult PostMusicalPreference([FromBody] MusicalPreference musicalPreference)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ _context.MusicalPreferences.Add(musicalPreference);
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateException)
+ {
+ if (MusicalPreferenceExists(musicalPreference.OwnerProfileId))
+ {
+ return new HttpStatusCodeResult(StatusCodes.Status409Conflict);
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return CreatedAtRoute("GetMusicalPreference", new { id = musicalPreference.OwnerProfileId }, musicalPreference);
+ }
+
+ // DELETE: api/MusicalPreferencesApi/5
+ [HttpDelete("{id}")]
+ public IActionResult DeleteMusicalPreference(string id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ MusicalPreference musicalPreference = _context.MusicalPreferences.Single(m => m.OwnerProfileId == id);
+ if (musicalPreference == null)
+ {
+ return HttpNotFound();
+ }
+
+ _context.MusicalPreferences.Remove(musicalPreference);
+ _context.SaveChanges();
+
+ return Ok(musicalPreference);
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ _context.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private bool MusicalPreferenceExists(string id)
+ {
+ return _context.MusicalPreferences.Count(e => e.OwnerProfileId == id) > 0;
+ }
+ }
+}
diff --git a/Yavsc/ApiControllers/MusicalTendenciesApiController.cs b/Yavsc/ApiControllers/MusicalTendenciesApiController.cs
new file mode 100644
index 00000000..701c8490
--- /dev/null
+++ b/Yavsc/ApiControllers/MusicalTendenciesApiController.cs
@@ -0,0 +1,147 @@
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.AspNet.Http;
+using Microsoft.AspNet.Mvc;
+using Microsoft.Data.Entity;
+using Yavsc.Models;
+using Yavsc.Models.Booking;
+
+namespace Yavsc.Controllers
+{
+ [Produces("application/json")]
+ [Route("api/MusicalTendenciesApi")]
+ public class MusicalTendenciesApiController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public MusicalTendenciesApiController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: api/MusicalTendenciesApi
+ [HttpGet]
+ public IEnumerable GetMusicalTendency()
+ {
+ return _context.MusicalTendency;
+ }
+
+ // GET: api/MusicalTendenciesApi/5
+ [HttpGet("{id}", Name = "GetMusicalTendency")]
+ public IActionResult GetMusicalTendency([FromRoute] long id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+
+ if (musicalTendency == null)
+ {
+ return HttpNotFound();
+ }
+
+ return Ok(musicalTendency);
+ }
+
+ // PUT: api/MusicalTendenciesApi/5
+ [HttpPut("{id}")]
+ public IActionResult PutMusicalTendency(long id, [FromBody] MusicalTendency musicalTendency)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ if (id != musicalTendency.Id)
+ {
+ return HttpBadRequest();
+ }
+
+ _context.Entry(musicalTendency).State = EntityState.Modified;
+
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateConcurrencyException)
+ {
+ if (!MusicalTendencyExists(id))
+ {
+ return HttpNotFound();
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return new HttpStatusCodeResult(StatusCodes.Status204NoContent);
+ }
+
+ // POST: api/MusicalTendenciesApi
+ [HttpPost]
+ public IActionResult PostMusicalTendency([FromBody] MusicalTendency musicalTendency)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ _context.MusicalTendency.Add(musicalTendency);
+ try
+ {
+ _context.SaveChanges();
+ }
+ catch (DbUpdateException)
+ {
+ if (MusicalTendencyExists(musicalTendency.Id))
+ {
+ return new HttpStatusCodeResult(StatusCodes.Status409Conflict);
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ return CreatedAtRoute("GetMusicalTendency", new { id = musicalTendency.Id }, musicalTendency);
+ }
+
+ // DELETE: api/MusicalTendenciesApi/5
+ [HttpDelete("{id}")]
+ public IActionResult DeleteMusicalTendency(long id)
+ {
+ if (!ModelState.IsValid)
+ {
+ return HttpBadRequest(ModelState);
+ }
+
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+ if (musicalTendency == null)
+ {
+ return HttpNotFound();
+ }
+
+ _context.MusicalTendency.Remove(musicalTendency);
+ _context.SaveChanges();
+
+ return Ok(musicalTendency);
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ _context.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private bool MusicalTendencyExists(long id)
+ {
+ return _context.MusicalTendency.Count(e => e.Id == id) > 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yavsc/ApiControllers/PdfEstimateController.cs b/Yavsc/ApiControllers/PdfEstimateController.cs
index 91965303..d16fc18e 100644
--- a/Yavsc/ApiControllers/PdfEstimateController.cs
+++ b/Yavsc/ApiControllers/PdfEstimateController.cs
@@ -2,73 +2,55 @@ using System.IO;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Mvc;
using System.Web.Routing;
-using Microsoft.AspNet.Mvc.ViewComponents;
-using Microsoft.AspNet.Razor;
namespace Yavsc.ApiControllers
{
using Models;
+ using Helpers;
+ using System.Linq;
+ using Microsoft.Data.Entity;
+ using System.Threading.Tasks;
+ using Microsoft.Extensions.Logging;
+ using System;
+ using System.Security.Claims;
+ using Microsoft.Extensions.Localization;
+ using Yavsc.Services;
+ using Yavsc.Models.Messaging;
[Route("api/pdfestimate"), Authorize]
public class PdfEstimateController : Controller
{
ApplicationDbContext dbContext;
- DefaultViewComponentHelper helper;
- IViewComponentDescriptorCollectionProvider provider;
- IViewComponentInvokerFactory factory;
- RazorEngineHost host;
- RazorTemplateEngine engine;
- IViewComponentSelector selector;
+ private IStringLocalizer _localizer;
+ private GoogleAuthSettings _googleSettings;
+ private IGoogleCloudMessageSender _GCMSender;
+ private IAuthorizationService authorizationService;
+ private ILogger logger;
public PdfEstimateController(
- IViewComponentDescriptorCollectionProvider provider,
- IViewComponentSelector selector,
- IViewComponentInvokerFactory factory,
+ IAuthorizationService authorizationService,
+ ILoggerFactory loggerFactory,
ApplicationDbContext context)
{
-
- this.selector = selector;
- this.provider = provider;
- this.factory = factory;
- helper = new DefaultViewComponentHelper(provider, selector, factory);
+ this.authorizationService = authorizationService;
dbContext = context;
-
- var language = new CSharpRazorCodeLanguage();
- host = new RazorEngineHost(language)
- {
- DefaultBaseClass = "RazorPage",
- DefaultClassName = "Estimate",
- DefaultNamespace = "Yavsc",
- };
-
- // Everyone needs the System namespace, right?
- host.NamespaceImports.Add("System");
- engine = new RazorTemplateEngine(host);
-
-
- /*
- GeneratorResults razorResult =
- engine.GenerateCode(
-
- ) */
+ logger = loggerFactory.CreateLogger();
}
[HttpGet("get/{id}", Name = "Get"), Authorize]
- public IActionResult Get(long id)
+ public async Task Get(long id)
{
- var filename = $"estimate-{id}.pdf";
-
- var cd = new System.Net.Mime.ContentDisposition
+ var estimate = dbContext.Estimates.Include(
+ e=>e.Query
+ ).FirstOrDefault(e=>e.Id == id);
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
{
- // for example foo.bak
- FileName = filename,
-
- // always prompt the user for downloading, set to true if you want
- // the browser to try to show the file inline
- Inline = false,
- };
+ return new ChallengeResult();
+ }
+
+ var filename = $"estimate-{id}.pdf";
FileInfo fi = new FileInfo(Path.Combine(Startup.UserBillsDirName, filename));
if (!fi.Exists) return Ok(new { Error = "Not generated" });
@@ -76,16 +58,104 @@ namespace Yavsc.ApiControllers
}
[HttpGet("estimate-{id}.tex", Name = "GetTex"), Authorize]
- public IActionResult GetTex(long id)
+ public async Task GetTex(long id)
{
+ var estimate = dbContext.Estimates.Include(
+ e=>e.Query
+ ).FirstOrDefault(e=>e.Id == id);
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
Response.ContentType = "text/x-tex";
return ViewComponent("Estimate",new object[] { id, "LaTeX" });
}
[HttpPost("gen/{id}")]
- public IActionResult GeneratePdf(long id)
+ public async Task GeneratePdf(long id)
{
+ var estimate = dbContext.Estimates.Include(
+ e=>e.Query
+ ).FirstOrDefault(e=>e.Id == id);
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
return ViewComponent("Estimate",new object[] { id, "Pdf" } );
}
+
+
+ [HttpPost("prosign/{id}")]
+ public async Task ProSign(long id)
+ {
+ var uid = User.GetUserId();
+ var estimate = dbContext.Estimates.Include(
+ e=>e.Query
+ ).FirstOrDefault(e=>e.Id == id && e.OwnerId == uid );
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
+ if (Request.Form.Files.Count!=1)
+ return new BadRequestResult();
+ User.ReceiveProSignature(id,Request.Form.Files[0],"pro");
+ estimate.ProviderValidationDate = DateTime.Now;
+ dbContext.SaveChanges();
+ // Notify the client
+ var yaev = new EstimationEvent(dbContext,estimate,_localizer);
+ var regids = estimate.Client.Devices.Select(d => d.GCMRegistrationId);
+ var grep = await _GCMSender.NotifyEstimateAsync(_googleSettings,regids,yaev);
+ return Ok (new { ProviderValidationDate = estimate.ProviderValidationDate, GCMSent = grep.success });
+ }
+
+ [HttpGet("prosign/{id}")]
+ public async Task GetProSign(long id)
+ {
+ // For authorization purpose
+ var estimate = dbContext.Estimates.FirstOrDefault(e=>e.Id == id);
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
+
+ var filename = FileSystemHelpers.SignFileNameFormat("pro",id);
+ FileInfo fi = new FileInfo(Path.Combine(Startup.UserBillsDirName, filename));
+ if (!fi.Exists) return HttpNotFound(new { Error = "Professional signature not found" });
+ return File(fi.OpenRead(), "application/x-pdf", filename); ;
+ }
+
+ [HttpPost("clisign/{id}")]
+ public async Task CliSign(long id)
+ {
+ var uid = User.GetUserId();
+ var estimate = dbContext.Estimates.Include( e=>e.Query
+ ).FirstOrDefault( e=> e.Id == id && e.Query.ClientId == uid );
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
+ if (Request.Form.Files.Count!=1)
+ return new BadRequestResult();
+ User.ReceiveProSignature(id,Request.Form.Files[0],"cli");
+ estimate.ClientValidationDate = DateTime.Now;
+ dbContext.SaveChanges();
+ return Ok (new { ClientValidationDate = estimate.ClientValidationDate });
+ }
+
+ [HttpGet("clisign/{id}")]
+ public async Task GetCliSign(long id)
+ {
+ // For authorization purpose
+ var estimate = dbContext.Estimates.FirstOrDefault(e=>e.Id == id);
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
+
+ var filename = FileSystemHelpers.SignFileNameFormat("pro",id);
+ FileInfo fi = new FileInfo(Path.Combine(Startup.UserBillsDirName, filename));
+ if (!fi.Exists) return HttpNotFound(new { Error = "Professional signature not found" });
+ return File(fi.OpenRead(), "application/x-pdf", filename); ;
+ }
}
}
\ No newline at end of file
diff --git a/Yavsc/ApiControllers/ProfileApiController.cs b/Yavsc/ApiControllers/ProfileApiController.cs
new file mode 100644
index 00000000..77426afa
--- /dev/null
+++ b/Yavsc/ApiControllers/ProfileApiController.cs
@@ -0,0 +1,16 @@
+using Microsoft.AspNet.Mvc;
+
+namespace Yavsc.ApiControllers
+{
+ using Models;
+ [Produces("application/json"),Route("api/profile")]
+ public abstract class ProfileApiController : Controller
+ {
+ ApplicationDbContext dbContext;
+ public ProfileApiController(ApplicationDbContext context)
+ {
+ dbContext = context;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Yavsc/Avatars/Paul.png b/Yavsc/Avatars/Paul.png
deleted file mode 100644
index cff89237..00000000
Binary files a/Yavsc/Avatars/Paul.png and /dev/null differ
diff --git a/Yavsc/Avatars/Paul.s.png b/Yavsc/Avatars/Paul.s.png
deleted file mode 100644
index 89b956bf..00000000
Binary files a/Yavsc/Avatars/Paul.s.png and /dev/null differ
diff --git a/Yavsc/Avatars/Paul.xs.png b/Yavsc/Avatars/Paul.xs.png
deleted file mode 100644
index 34b28314..00000000
Binary files a/Yavsc/Avatars/Paul.xs.png and /dev/null differ
diff --git a/Yavsc/Constants.cs b/Yavsc/Constants.cs
index 3fd2c095..60179575 100644
--- a/Yavsc/Constants.cs
+++ b/Yavsc/Constants.cs
@@ -42,5 +42,7 @@ namespace Yavsc
private static readonly string[] GoogleScopes = { "openid", "profile", "email" };
public static readonly string[] GoogleCalendarScopes =
{ "openid", "profile", "email", "https://www.googleapis.com/auth/calendar" };
+
+ public static readonly string NoneCode = "none";
}
}
diff --git a/Yavsc/Controllers/ActivityController.cs b/Yavsc/Controllers/ActivityController.cs
index 2e3ecdff..ac072680 100644
--- a/Yavsc/Controllers/ActivityController.cs
+++ b/Yavsc/Controllers/ActivityController.cs
@@ -1,24 +1,97 @@
+using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Mvc;
+using Microsoft.AspNet.Mvc.Rendering;
+using Microsoft.Data.Entity;
+using Microsoft.Extensions.Localization;
+using Microsoft.Extensions.Logging;
using Yavsc.Models;
namespace Yavsc.Controllers
{
- [ServiceFilter(typeof(LanguageActionFilter)),Authorize("AdministratorOnly")]
+ [Authorize("AdministratorOnly")]
public class ActivityController : Controller
{
private ApplicationDbContext _context;
+ IStringLocalizer SR;
+ ILogger logger;
- public ActivityController(ApplicationDbContext context)
+ public ActivityController(ApplicationDbContext context,
+ IStringLocalizer SR,
+ ILoggerFactory loggerFactory)
{
_context = context;
+ this.SR = SR;
+ logger=loggerFactory.CreateLogger();
}
// GET: Activity
public IActionResult Index()
{
- return View(_context.Activities.ToList());
+ SetSettingClasseInfo();
+ return View(_context.Activities.Include(a=>a.Parent).ToList());
+ }
+
+ private void SetSettingClasseInfo(string currentCode = null)
+ {
+ var items = Startup.ProfileTypes.Select(
+ pt => new SelectListItem
+ {
+ Text = SR[pt.Key],
+ Value = pt.Key,
+ Selected = currentCode == pt.Key
+ }).ToList();
+ items.Add(new SelectListItem { Text = SR[Constants.NoneCode], Value = Constants.NoneCode, Selected = currentCode == null});
+ ViewBag.SettingsClassName = items;
+ }
+
+ private List GetEligibleParent(string code)
+ {
+ // eligibles are those
+ // who are not in descendants
+
+ //
+ var acts = _context.Activities.Where(
+ a => a.Code != code
+ ).Select(a => new SelectListItem
+ {
+ Text = a.Name,
+ Value = a.Code
+ }).ToList();
+ var nullItem = new SelectListItem { Text = SR[Constants.NoneCode], Value = Constants.NoneCode };
+ acts.Add(nullItem);
+ if (code == null) return acts;
+ var existing = _context.Activities.Include(a => a.Children).FirstOrDefault(a => a.Code == code);
+ if (existing == null) return acts;
+ var pi = acts.FirstOrDefault(i => i.Value == existing.ParentCode);
+ if (pi!=null) pi.Selected = true;
+ else nullItem.Selected = true;
+ RecFilterChild(acts, existing);
+ return acts;
+ }
+
+ ///
+ /// Filters a activity selection list
+ /// in order to exculde any descendant
+ /// from the eligible list at the Parent property.
+ /// WARN! results in a infinite loop when
+ /// data is corrupted and there is a circularity
+ /// in the activity hierarchy graph (Parent/Children)
+ ///
+ ///
+ ///
+ private static void RecFilterChild(List list, Activity activity)
+ {
+ if (activity == null) return;
+ if (activity.Children == null) return;
+ if (list.Count == 0) return;
+ foreach (var child in activity.Children)
+ {
+ RecFilterChild(list, child);
+ var rem = list.FirstOrDefault(i => i.Value == child.Code);
+ if (rem != null) list.Remove(rem);
+ }
}
// GET: Activity/Details/5
@@ -41,6 +114,8 @@ namespace Yavsc.Controllers
// GET: Activity/Create
public IActionResult Create()
{
+ SetSettingClasseInfo();
+ ViewBag.ParentCode = GetEligibleParent(null);
return View();
}
@@ -49,12 +124,18 @@ namespace Yavsc.Controllers
[ValidateAntiForgeryToken]
public IActionResult Create(Activity activity)
{
+ if (activity.ParentCode==Constants.NoneCode)
+ activity.ParentCode=null;
+ if (activity.SettingsClassName==Constants.NoneCode)
+ activity.SettingsClassName=null;
+
if (ModelState.IsValid)
{
_context.Activities.Add(activity);
_context.SaveChanges();
return RedirectToAction("Index");
}
+ SetSettingClasseInfo();
return View(activity);
}
@@ -71,6 +152,8 @@ namespace Yavsc.Controllers
{
return HttpNotFound();
}
+ ViewBag.ParentCode = GetEligibleParent(id);
+ SetSettingClasseInfo();
return View(activity);
}
@@ -79,6 +162,10 @@ namespace Yavsc.Controllers
[ValidateAntiForgeryToken]
public IActionResult Edit(Activity activity)
{
+ if (activity.ParentCode==Constants.NoneCode)
+ activity.ParentCode=null;
+ if (activity.SettingsClassName==Constants.NoneCode)
+ activity.SettingsClassName=null;
if (ModelState.IsValid)
{
_context.Update(activity);
diff --git a/Yavsc/Controllers/AdministrationController.cs b/Yavsc/Controllers/AdministrationController.cs
index ae3d2a48..fc41879e 100644
--- a/Yavsc/Controllers/AdministrationController.cs
+++ b/Yavsc/Controllers/AdministrationController.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
@@ -7,7 +6,10 @@ using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Mvc;
+using Microsoft.Data.Entity;
using Yavsc.Models;
+using Yavsc.Models.Auth;
+using Yavsc.ViewModels.Administration;
namespace Yavsc.Controllers
{
@@ -17,11 +19,15 @@ namespace Yavsc.Controllers
private readonly UserManager _userManager;
private readonly RoleManager _roleManager;
+ private readonly ApplicationDbContext context;
+
public AdministrationController(UserManager userManager,
- RoleManager roleManager)
+ RoleManager roleManager,
+ ApplicationDbContext context)
{
_userManager = userManager;
_roleManager = roleManager;
+ this.context = context;
}
///
@@ -47,30 +53,53 @@ namespace Yavsc.Controllers
AddErrors(addToRoleResult);
return new BadRequestObjectResult(ModelState);
}
- return Ok(new {message="you owned it."});
- }
- public class RoleInfo {
- public string Name { get; set; }
- public IEnumerable Users { get; set; }
+ return Ok(new { message = "you owned it." });
}
- [Authorize(Roles=Constants.AdminGroupName)]
+
+ [Authorize(Roles = Constants.AdminGroupName)]
[Produces("application/json")]
- public async Task Index() {
+ public async Task Index()
+ {
var adminCount = await _userManager.GetUsersInRoleAsync(
Constants.AdminGroupName);
var youAreAdmin = await _userManager.IsInRoleAsync(
await _userManager.FindByIdAsync(User.GetUserId()),
Constants.AdminGroupName);
- var roles = _roleManager.Roles.Select(x=>
- new RoleInfo {
- Name = x.Name,
- Users = x.Users.Select( u=>u.UserId )
- } );
- return Ok (new { Roles = roles, AdminCount = adminCount.Count,
- YouAreAdmin = youAreAdmin
+ var roles = _roleManager.Roles.Include(
+ x => x.Users
+ ).Select(x => new RoleInfo {
+ Id = x.Id,
+ Name = x.Name,
+ Users = x.Users.Select(u=>u.UserId).ToArray()
+ });
+ return View(new AdminViewModel
+ {
+ Roles = roles.ToArray(),
+ AdminCount = adminCount.Count,
+ YouAreAdmin = youAreAdmin
});
}
+ public IActionResult Role(string id)
+ {
+ IdentityRole role = _roleManager.Roles
+ .Include(r=>r.Users).FirstOrDefault
+ ( r=> r.Id == id );
+ var ri = GetRoleUserCollection(role);
+ return View("Role",ri);
+ }
+
+ public RoleUserCollection GetRoleUserCollection(IdentityRole role)
+ {
+ var result = new RoleUserCollection {
+ Id = role.Id,
+ Name = role.Name,
+ Users = context.Users.Where(u=>role.Users.Any(ru => u.Id == ru.UserId))
+ .Select( u => new UserInfo { UserName = u.UserName, Avatar = u.Avatar, UserId = u.Id } )
+ .ToArray()
+ };
+ return result;
+ }
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
diff --git a/Yavsc/Controllers/BlogspotController.cs b/Yavsc/Controllers/BlogspotController.cs
index 32e2beb7..273c5de2 100644
--- a/Yavsc/Controllers/BlogspotController.cs
+++ b/Yavsc/Controllers/BlogspotController.cs
@@ -10,6 +10,7 @@ using Microsoft.AspNet.Authorization;
using Microsoft.Data.Entity;
using Microsoft.Extensions.OptionsModel;
using Yavsc.Models;
+using Yavsc.ViewModels.Auth;
// For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
@@ -38,22 +39,27 @@ namespace Yavsc.Controllers
// GET: Blog
[AllowAnonymous]
- public IActionResult Index(string id)
+ public IActionResult Index(string id, int skip=0, int maxLen=25)
{
+ string uid = null;
+ if (User.IsSignedIn())
+ uid = User.GetUserId();
if (!string.IsNullOrEmpty(id))
return UserPosts(id);
return View(_context.Blogspot.Include(
b => b.Author
- ).Where(p => p.Visible).Take(10));
+ ).Where(p => p.Visible || p.AuthorId == uid ).OrderByDescending(p => p.Posted)
+ .Skip(skip).Take(maxLen));
}
[Route("/Title/{id?}")]
[AllowAnonymous]
public IActionResult Title(string id)
{
+ var uid = User.GetUserId();
return View("Index", _context.Blogspot.Include(
b => b.Author
- ).Where(x => x.Title == id && x.Visible).ToList());
+ ).Where(x => x.Title == id && (x.Visible || x.AuthorId == uid )).ToList());
}
[Route("/Blog/{id?}")]
@@ -88,7 +94,7 @@ namespace Yavsc.Controllers
{
return HttpNotFound();
}
-
+
return View(blog);
}
@@ -115,7 +121,7 @@ namespace Yavsc.Controllers
_context.SaveChanges();
return RedirectToAction("Index");
}
- _logger.LogWarning("Invalid Blog posted ...");
+ ModelState.AddModelError("Unknown","Invalid Blog posted ...");
return View(blog);
}
[Authorize()]
diff --git a/Yavsc/Controllers/ClientController.cs b/Yavsc/Controllers/ClientController.cs
index a1243e82..76fbed7e 100644
--- a/Yavsc/Controllers/ClientController.cs
+++ b/Yavsc/Controllers/ClientController.cs
@@ -3,6 +3,7 @@ using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.Data.Entity;
+using System.Collections.Generic;
using Yavsc.Models;
using Yavsc.Models.Auth;
@@ -42,6 +43,7 @@ namespace Yavsc.Controllers
// GET: Client/Create
public IActionResult Create()
{
+ SetAppTypesInputValues();
return View();
}
@@ -62,8 +64,7 @@ namespace Yavsc.Controllers
}
private void SetAppTypesInputValues()
{
- ViewData["Type"] =
- new SelectListItem[] {
+ IEnumerable types = new SelectListItem[] {
new SelectListItem {
Text = ApplicationTypes.JavaScript.ToString(),
Value = ((int) ApplicationTypes.JavaScript).ToString() },
@@ -72,6 +73,7 @@ namespace Yavsc.Controllers
Value = ((int) ApplicationTypes.NativeConfidential).ToString()
}
};
+ ViewData["Type"] = types;
}
// GET: Client/Edit/5
public async Task Edit(string id)
diff --git a/Yavsc/Controllers/CommandController.cs b/Yavsc/Controllers/CommandController.cs
index 23f93442..4b2a2d62 100644
--- a/Yavsc/Controllers/CommandController.cs
+++ b/Yavsc/Controllers/CommandController.cs
@@ -161,7 +161,6 @@ namespace Yavsc.Controllers
if (pro.Performer.Devices.Count > 0) {
var regids = command.PerformerProfile.Performer
.Devices.Select(d => d.GCMRegistrationId);
- var sregids = string.Join(",",regids);
grep = await _GCMSender.NotifyBookQueryAsync(_googleSettings,regids,yaev);
}
// TODO setup a profile choice to allow notifications
@@ -175,7 +174,7 @@ namespace Yavsc.Controllers
_siteSettings, _smtpSettings,
command.PerformerProfile.Performer.Email,
yaev.Topic+" "+yaev.Client.UserName,
- $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n"
+ $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n"
);
}
ViewBag.GoogleSettings = _googleSettings;
diff --git a/Yavsc/Controllers/DoController.cs b/Yavsc/Controllers/DoController.cs
new file mode 100644
index 00000000..f24c2e42
--- /dev/null
+++ b/Yavsc/Controllers/DoController.cs
@@ -0,0 +1,169 @@
+using System.Linq;
+using System.Security.Claims;
+using Microsoft.AspNet.Authorization;
+using Microsoft.AspNet.Mvc;
+using Microsoft.AspNet.Mvc.Rendering;
+using Microsoft.Data.Entity;
+
+namespace Yavsc.Controllers
+{
+ using Models;
+ using Models.Workflow;
+ [Authorize]
+ public class DoController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public DoController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: /Do/Index
+ [HttpGet]
+ public IActionResult Index(string id)
+ {
+ if (id == null)
+ id = User.GetUserId();
+
+ var userActivities = _context.UserActivities.Include(u => u.Does)
+ .Include(u => u.User).Where(u=> u.UserId == id)
+ .OrderByDescending(u => u.Weight);
+ return View(userActivities.ToList());
+ }
+
+ // GET: Do/Details/5
+ public IActionResult Details(string id, string activityCode)
+ {
+ if (id == null || activityCode == null)
+ {
+ return HttpNotFound();
+ }
+
+ UserActivity userActivity = _context.UserActivities.Include(m=>m.Does)
+ .Include(m=>m.User).Single(m => m.DoesCode == activityCode && m.UserId == id);
+ if (userActivity == null)
+ {
+ return HttpNotFound();
+ }
+ ViewBag.HasConfigurableSettings = (userActivity.Does.SettingsClassName != null);
+ if (ViewBag.HasConfigurableSettings)
+ ViewBag.SettingsClassControllerName = Startup.ProfileTypes[userActivity.Does.SettingsClassName].Name;
+
+ return View(userActivity);
+ }
+
+ // GET: Do/Create
+ [ActionName("Create"),Authorize]
+ public IActionResult Create(string userId)
+ {
+ if (userId==null)
+ userId = User.GetUserId();
+ var model = new UserActivity { UserId = userId };
+ ViewBag.DoesCode = new SelectList(_context.Activities, "Code", "Name");
+ //ViewData["UserId"] = userId;
+ ViewBag.UserId = new SelectList(_context.Performers.Include(p=>p.Performer), "PerformerId", "Performer", userId);
+ return View(model);
+ }
+
+ // POST: Do/Create
+ [HttpPost(),ActionName("Create"),Authorize]
+ [ValidateAntiForgeryToken]
+ public IActionResult Create(UserActivity userActivity)
+ {
+ var uid = User.GetUserId();
+ if (!User.IsInRole("Administrator"))
+ if (uid != userActivity.UserId)
+ ModelState.AddModelError("User","You're not admin.");
+ if (userActivity.UserId == null) userActivity.UserId = uid;
+ if (ModelState.IsValid)
+ {
+ _context.UserActivities.Add(userActivity);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ ViewBag.DoesCode = new SelectList(_context.Activities, "Code", "Name", userActivity.DoesCode);
+ ViewBag.UserId = new SelectList(_context.Performers.Include(p=>p.Performer), "PerformerId", "User", userActivity.UserId);
+ return View(userActivity);
+ }
+
+ // GET: Do/Edit/5
+ [Authorize]
+ public IActionResult Edit(string id, string activityCode)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ UserActivity userActivity = _context.UserActivities.Include(
+ u=>u.Does
+ ).Include(
+ u=>u.User
+ ).Single(m => m.DoesCode == activityCode && m.UserId == id);
+ if (userActivity == null)
+ {
+ return HttpNotFound();
+ }
+ ViewData["DoesCode"] = new SelectList(_context.Activities, "Code", "Does", userActivity.DoesCode);
+ ViewData["UserId"] = new SelectList(_context.Performers, "PerformerId", "User", userActivity.UserId);
+ return View(userActivity);
+ }
+
+ // POST: Do/Edit/5
+ [HttpPost,Authorize]
+ [ValidateAntiForgeryToken]
+ public IActionResult Edit(UserActivity userActivity)
+ {
+ if (!User.IsInRole("Administrator"))
+ if (User.GetUserId() != userActivity.UserId)
+ ModelState.AddModelError("User","You're not admin.");
+ if (ModelState.IsValid)
+ {
+ _context.Update(userActivity);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ ViewData["DoesCode"] = new SelectList(_context.Activities, "Code", "Does", userActivity.DoesCode);
+ ViewData["UserId"] = new SelectList(_context.Performers, "PerformerId", "User", userActivity.UserId);
+ return View(userActivity);
+ }
+
+ // GET: Do/Delete/5
+ [ActionName("Delete"),Authorize]
+ public IActionResult Delete(string id, string activityCode)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ UserActivity userActivity = _context.UserActivities.Single(m => m.UserId == id && m.DoesCode == activityCode);
+
+ if (userActivity == null)
+ {
+ return HttpNotFound();
+ }
+ if (!User.IsInRole("Administrator"))
+ if (User.GetUserId() != userActivity.UserId)
+ ModelState.AddModelError("User","You're not admin.");
+ return View(userActivity);
+ }
+
+ // POST: Do/Delete/5
+ [HttpPost, ActionName("Delete"),Authorize]
+ [ValidateAntiForgeryToken]
+ public IActionResult DeleteConfirmed(string id, string activityCode)
+ {
+ UserActivity userActivity = _context.UserActivities.Single(m => m.UserId == id && m.DoesCode == activityCode);
+ if (!User.IsInRole("Administrator"))
+ if (User.GetUserId() != userActivity.UserId) {
+ ModelState.AddModelError("User","You're not admin.");
+ return RedirectToAction("Index");
+ }
+ _context.UserActivities.Remove(userActivity);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ }
+}
diff --git a/Yavsc/Controllers/EstimateController.cs b/Yavsc/Controllers/EstimateController.cs
index e9aeaefa..f57d3216 100644
--- a/Yavsc/Controllers/EstimateController.cs
+++ b/Yavsc/Controllers/EstimateController.cs
@@ -3,6 +3,7 @@ using System.IO;
using System.Linq;
using System.Net.Mime;
using System.Security.Claims;
+using System.Threading.Tasks;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc;
@@ -21,10 +22,13 @@ namespace Yavsc.Controllers
private ApplicationDbContext _context;
private SiteSettings _site;
- public EstimateController(ApplicationDbContext context, IOptions siteSettings)
+ IAuthorizationService authorizationService;
+
+ public EstimateController(ApplicationDbContext context, IAuthorizationService authorizationService, IOptions siteSettings)
{
_context = context;
_site = siteSettings.Value;
+ this.authorizationService = authorizationService;
}
// GET: Estimate
@@ -41,7 +45,7 @@ namespace Yavsc.Controllers
}
// GET: Estimate/Details/5
- public IActionResult Details(long? id)
+ public async Task Details(long? id)
{
var uid = User.GetUserId();
if (id == null)
@@ -62,6 +66,10 @@ namespace Yavsc.Controllers
{
return HttpNotFound();
}
+ if (!await authorizationService.AuthorizeAsync(User, estimate, new ViewRequirement()))
+ {
+ return new ChallengeResult();
+ }
return View(estimate);
}
diff --git a/Yavsc/Controllers/FrontOfficeController.cs b/Yavsc/Controllers/FrontOfficeController.cs
index e3a0959f..fc28846f 100644
--- a/Yavsc/Controllers/FrontOfficeController.cs
+++ b/Yavsc/Controllers/FrontOfficeController.cs
@@ -8,11 +8,11 @@ using Microsoft.Extensions.Logging;
using Yavsc.Models.Booking;
using Yavsc.Helpers;
using System;
+using Yavsc.ViewModels.FrontOffice;
+using System.Security.Claims;
namespace Yavsc.Controllers
{
- [ServiceFilter(typeof(LanguageActionFilter)),
- Route("do")]
public class FrontOfficeController : Controller
{
ApplicationDbContext _context;
@@ -29,10 +29,20 @@ namespace Yavsc.Controllers
}
public ActionResult Index()
{
- var latestPosts = _context.Blogspot.Where(
- x => x.Visible == true
- ).OrderBy(x => x.Modified).Take(25).ToArray();
- return View(latestPosts);
+ var uid = User.GetUserId();
+ var now = DateTime.Now;
+
+ var model = new FrontOfficeIndexViewModel{
+ EstimateToProduceCount = _context.Commands.Where(c => c.PerformerId == uid && c.EventDate > now
+ && c.ValidationDate == null && !_context.Estimates.Any(e=>(e.CommandId == c.Id && e.ProviderValidationDate != null))).Count(),
+ EstimateToSignAsProCount = _context.Commands.Where(c => ( c.PerformerId == uid && c.EventDate > now
+ && c.ValidationDate == null && _context.Estimates.Any(e=>(e.CommandId == c.Id && e.ProviderValidationDate != null)))).Count(),
+ EstimateToSignAsCliCount = _context.Estimates.Where(e=>e.ClientId == uid && e.ClientValidationDate == null) .Count(),
+ BillToSignAsProCount = 0,
+ BillToSignAsCliCount = 0,
+ NewPayementsCount = 0
+ };
+ return View(model);
}
[Route("Book/{id?}"), HttpGet]
@@ -42,17 +52,11 @@ namespace Yavsc.Controllers
{
throw new NotImplementedException("No Activity code");
}
-
- ViewBag.Activities = _context.ActivityItems(id);
- ViewBag.Activity = _context.Activities.FirstOrDefault(
- a => a.Code == id);
-
- return View(
- _context.Performers.Include(p => p.Performer).Where
- (p => p.ActivityCode == id && p.Active).OrderBy(
- x => x.MinDailyCost
- )
- );
+ ViewBag.Activity = _context.Activities.FirstOrDefault(a=>a.Code == id);
+ var result = _context.Performers
+ .Include(p=>p.Performer).Where(p => p.Activity.Any(u=>u.DoesCode==id)).OrderBy( x => x.MinDailyCost );
+
+ return View(result);
}
[Route("Book/{id}"), HttpPost]
diff --git a/Yavsc/Controllers/InstrumentationController.cs b/Yavsc/Controllers/InstrumentationController.cs
new file mode 100644
index 00000000..101366d0
--- /dev/null
+++ b/Yavsc/Controllers/InstrumentationController.cs
@@ -0,0 +1,153 @@
+using System;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Security.Claims;
+using System.Threading.Tasks;
+using Microsoft.AspNet.Authorization;
+using Microsoft.AspNet.Mvc;
+using Microsoft.AspNet.Mvc.Rendering;
+using Microsoft.Data.Entity;
+using Yavsc.Models;
+using Yavsc.Models.Booking;
+using Yavsc.Models.Booking.Profiles;
+
+namespace Yavsc.Controllers
+{
+ [Authorize]
+ public class InstrumentationController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public InstrumentationController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: Instrumentation
+ public async Task Index()
+ {
+ return View(await _context.Instrumentation.ToListAsync());
+ }
+
+ // GET: Instrumentation/Details/5
+ public async Task Details(string id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ Instrumentation musicianSettings = await _context.Instrumentation.SingleAsync(m => m.UserId == id);
+ if (musicianSettings == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(musicianSettings);
+ }
+
+ // GET: Instrumentation/Create
+ public IActionResult Create()
+ {
+ var uid = User.GetUserId();
+ var owned = _context.Instrumentation.Include(i=>i.Tool).Where(i=>i.UserId==uid).Select(i=>i.InstrumentId);
+ var ownedArray = owned.ToArray();
+
+ ViewBag.YetAvailableInstruments = _context.Instrument.Select(k=>new SelectListItem
+ { Text = k.Name, Value = k.Id.ToString(), Disabled = ownedArray.Contains(k.Id) });
+
+
+ return View(new Instrumentation { UserId = uid });
+ }
+
+ // POST: Instrumentation/Create
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public async Task Create(Instrumentation model)
+ {
+ var uid = User.GetUserId();
+ if (ModelState.IsValid)
+ {
+ if (model.UserId != uid) if (!User.IsInRole(Constants.AdminGroupName))
+ return new ChallengeResult();
+
+ _context.Instrumentation.Add(model);
+ await _context.SaveChangesAsync();
+ return RedirectToAction("Index");
+ }
+ return View(model);
+ }
+
+ // GET: Instrumentation/Edit/5
+ public async Task Edit(string id)
+ {
+ var uid = User.GetUserId();
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+ if (id != uid) if (!User.IsInRole(Constants.AdminGroupName))
+ return new ChallengeResult();
+ Instrumentation musicianSettings = await _context.Instrumentation.SingleAsync(m => m.UserId == id);
+ if (musicianSettings == null)
+ {
+ return HttpNotFound();
+ }
+ return View(musicianSettings);
+ }
+
+ // POST: Instrumentation/Edit/5
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public async Task Edit(Instrumentation musicianSettings)
+ {
+ var uid = User.GetUserId();
+ if (musicianSettings.UserId != uid) if (!User.IsInRole(Constants.AdminGroupName))
+ return new ChallengeResult();
+ if (ModelState.IsValid)
+ {
+ _context.Update(musicianSettings);
+ await _context.SaveChangesAsync();
+ return RedirectToAction("Index");
+ }
+ return View(musicianSettings);
+ }
+
+ // GET: Instrumentation/Delete/5
+ [ActionName("Delete")]
+ public async Task Delete(string id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ Instrumentation musicianSettings = await _context.Instrumentation.SingleAsync(m => m.UserId == id);
+ if (musicianSettings == null)
+ {
+ return HttpNotFound();
+ }
+ var uid = User.GetUserId();
+ if (musicianSettings.UserId != uid) if (!User.IsInRole(Constants.AdminGroupName))
+ return new ChallengeResult();
+ return View(musicianSettings);
+ }
+
+ // POST: Instrumentation/Delete/5
+ [HttpPost, ActionName("Delete")]
+ [ValidateAntiForgeryToken]
+ public async Task DeleteConfirmed(string id)
+ {
+ Instrumentation musicianSettings = await _context.Instrumentation.SingleAsync(m => m.UserId == id);
+
+ var uid = User.GetUserId();
+ if (musicianSettings.UserId != uid) if (!User.IsInRole(Constants.AdminGroupName))
+ return new ChallengeResult();
+
+
+ _context.Instrumentation.Remove(musicianSettings);
+ await _context.SaveChangesAsync();
+ return RedirectToAction("Index");
+ }
+ }
+}
diff --git a/Yavsc/Controllers/InstrumentsController.cs b/Yavsc/Controllers/InstrumentsController.cs
new file mode 100644
index 00000000..b63ce9d9
--- /dev/null
+++ b/Yavsc/Controllers/InstrumentsController.cs
@@ -0,0 +1,119 @@
+using System.Linq;
+using Microsoft.AspNet.Mvc;
+
+namespace Yavsc.Controllers
+{
+ using Models;
+ using Models.Booking;
+ public class InstrumentsController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public InstrumentsController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: Instruments
+ public IActionResult Index()
+ {
+ return View(_context.Instrument.ToList());
+ }
+
+ // GET: Instruments/Details/5
+ public IActionResult Details(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ Instrument instrument = _context.Instrument.Single(m => m.Id == id);
+ if (instrument == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(instrument);
+ }
+
+ // GET: Instruments/Create
+ public IActionResult Create()
+ {
+ return View();
+ }
+
+ // POST: Instruments/Create
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Create(Instrument instrument)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.Instrument.Add(instrument);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(instrument);
+ }
+
+ // GET: Instruments/Edit/5
+ public IActionResult Edit(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ Instrument instrument = _context.Instrument.Single(m => m.Id == id);
+ if (instrument == null)
+ {
+ return HttpNotFound();
+ }
+ return View(instrument);
+ }
+
+ // POST: Instruments/Edit/5
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Edit(Instrument instrument)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.Update(instrument);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(instrument);
+ }
+
+ // GET: Instruments/Delete/5
+ [ActionName("Delete")]
+ public IActionResult Delete(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ Instrument instrument = _context.Instrument.Single(m => m.Id == id);
+ if (instrument == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(instrument);
+ }
+
+ // POST: Instruments/Delete/5
+ [HttpPost, ActionName("Delete")]
+ [ValidateAntiForgeryToken]
+ public IActionResult DeleteConfirmed(long id)
+ {
+ Instrument instrument = _context.Instrument.Single(m => m.Id == id);
+ _context.Instrument.Remove(instrument);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ }
+}
diff --git a/Yavsc/Controllers/LocationTypesController.cs b/Yavsc/Controllers/LocationTypesController.cs
new file mode 100644
index 00000000..d7890aaa
--- /dev/null
+++ b/Yavsc/Controllers/LocationTypesController.cs
@@ -0,0 +1,119 @@
+using System.Linq;
+using Microsoft.AspNet.Mvc;
+
+namespace Yavsc.Controllers
+{
+ using Models;
+ using Models.Relationship;
+ public class LocationTypesController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public LocationTypesController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: LocationTypes
+ public IActionResult Index()
+ {
+ return View(_context.LocationType.ToList());
+ }
+
+ // GET: LocationTypes/Details/5
+ public IActionResult Details(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ LocationType locationType = _context.LocationType.Single(m => m.Id == id);
+ if (locationType == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(locationType);
+ }
+
+ // GET: LocationTypes/Create
+ public IActionResult Create()
+ {
+ return View();
+ }
+
+ // POST: LocationTypes/Create
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Create(LocationType locationType)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.LocationType.Add(locationType);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(locationType);
+ }
+
+ // GET: LocationTypes/Edit/5
+ public IActionResult Edit(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ LocationType locationType = _context.LocationType.Single(m => m.Id == id);
+ if (locationType == null)
+ {
+ return HttpNotFound();
+ }
+ return View(locationType);
+ }
+
+ // POST: LocationTypes/Edit/5
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Edit(LocationType locationType)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.Update(locationType);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(locationType);
+ }
+
+ // GET: LocationTypes/Delete/5
+ [ActionName("Delete")]
+ public IActionResult Delete(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ LocationType locationType = _context.LocationType.Single(m => m.Id == id);
+ if (locationType == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(locationType);
+ }
+
+ // POST: LocationTypes/Delete/5
+ [HttpPost, ActionName("Delete")]
+ [ValidateAntiForgeryToken]
+ public IActionResult DeleteConfirmed(long id)
+ {
+ LocationType locationType = _context.LocationType.Single(m => m.Id == id);
+ _context.LocationType.Remove(locationType);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ }
+}
diff --git a/Yavsc/Controllers/ManageController.cs b/Yavsc/Controllers/ManageController.cs
index 655f51bf..c8af7b63 100644
--- a/Yavsc/Controllers/ManageController.cs
+++ b/Yavsc/Controllers/ManageController.cs
@@ -110,11 +110,9 @@ namespace Yavsc.Controllers
DiskUsage = user.DiskUsage,
DiskQuota = user.DiskQuota
};
- if (_dbContext.Performers.Any(x => x.PerformerId == user.Id))
- {
- var code = _dbContext.Performers.First(x => x.PerformerId == user.Id).ActivityCode;
- model.Activity = _dbContext.Activities.First(x => x.Code == code);
- }
+ model.HaveProfessionalSettings = _dbContext.Performers.Any(x => x.PerformerId == user.Id);
+ model.Activity = _dbContext.UserActivities.Include(a=>a.Does).Where(u=>u.UserId == user.Id)
+ .ToList();
return View(model);
}
@@ -491,16 +489,19 @@ namespace Yavsc.Controllers
{
var user = GetCurrentUserAsync().Result;
var uid = user.Id;
- bool existing = _dbContext.Performers.Any(x => x.PerformerId == uid);
- ViewBag.Activities = _dbContext.ActivityItems(null);
+ var existing = _dbContext.Performers.Include(x => x.OrganizationAddress)
+ .Include(p=>p.Activity).FirstOrDefault(x => x.PerformerId == uid);
+
ViewBag.GoogleSettings = _googleSettings;
- if (existing)
+ if (existing!=null)
{
var currentProfile = _dbContext.Performers.Include(x => x.OrganizationAddress)
.First(x => x.PerformerId == uid);
- string currentCode = currentProfile.ActivityCode;
+ ViewBag.Activities = _dbContext.ActivityItems(existing.Activity);
return View(currentProfile);
}
+
+ ViewBag.Activities = _dbContext.ActivityItems(new List());
return View(new PerformerProfile
{
PerformerId = user.Id,
@@ -519,6 +520,7 @@ namespace Yavsc.Controllers
{
if (ModelState.IsValid)
{
+
var exSiren = await _dbContext.ExceptionsSIREN.FirstOrDefaultAsync(
ex => ex.SIREN == model.SIREN
);
@@ -535,7 +537,7 @@ namespace Yavsc.Controllers
"SIREN",
_SR["Invalid company number"] + " (" + taskCheck.errorCode + ")"
);
- _logger.LogInformation("Invalid company number, using key:" + _cinfoSettings.ApiKey);
+ _logger.LogInformation($"Invalid company number: {model.SIREN}/{taskCheck.errorType}/{taskCheck.errorCode}/{taskCheck.errorMessage}" );
}
}
}
@@ -543,6 +545,7 @@ namespace Yavsc.Controllers
catch (Exception ex)
{
_logger.LogError(ex.Message);
+ ModelState.AddModelError("SIREN", ex.Message);
}
if (ModelState.IsValid)
{
@@ -553,14 +556,13 @@ namespace Yavsc.Controllers
{
_dbContext.Map.Add(model.OrganizationAddress);
}
- bool existing = _dbContext.Performers.Any(x => x.PerformerId == uid);
- if (existing)
+
+ if (_dbContext.Performers.Any(p=>p.PerformerId == uid))
{
_dbContext.Update(model);
}
else _dbContext.Performers.Add(model);
_dbContext.SaveChanges();
-
// Give this user the Performer role
if (!User.IsInRole("Performer"))
await _userManager.AddToRoleAsync(user, "Performer");
@@ -571,8 +573,8 @@ namespace Yavsc.Controllers
}
else ModelState.AddModelError(string.Empty, $"Access denied ({uid} vs {model.PerformerId})");
}
+
ViewBag.GoogleSettings = _googleSettings;
- ViewBag.Activities = _dbContext.ActivityItems(model.ActivityCode);
return View(model);
}
diff --git a/Yavsc/Controllers/MusicalTendenciesController.cs b/Yavsc/Controllers/MusicalTendenciesController.cs
new file mode 100644
index 00000000..61d7c5e4
--- /dev/null
+++ b/Yavsc/Controllers/MusicalTendenciesController.cs
@@ -0,0 +1,119 @@
+using System.Linq;
+using Microsoft.AspNet.Mvc;
+
+namespace Yavsc.Controllers
+{
+ using Models;
+ using Models.Booking;
+ public class MusicalTendenciesController : Controller
+ {
+ private ApplicationDbContext _context;
+
+ public MusicalTendenciesController(ApplicationDbContext context)
+ {
+ _context = context;
+ }
+
+ // GET: MusicalTendencies
+ public IActionResult Index()
+ {
+ return View(_context.MusicalTendency.ToList());
+ }
+
+ // GET: MusicalTendencies/Details/5
+ public IActionResult Details(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+ if (musicalTendency == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(musicalTendency);
+ }
+
+ // GET: MusicalTendencies/Create
+ public IActionResult Create()
+ {
+ return View();
+ }
+
+ // POST: MusicalTendencies/Create
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Create(MusicalTendency musicalTendency)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.MusicalTendency.Add(musicalTendency);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(musicalTendency);
+ }
+
+ // GET: MusicalTendencies/Edit/5
+ public IActionResult Edit(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+ if (musicalTendency == null)
+ {
+ return HttpNotFound();
+ }
+ return View(musicalTendency);
+ }
+
+ // POST: MusicalTendencies/Edit/5
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public IActionResult Edit(MusicalTendency musicalTendency)
+ {
+ if (ModelState.IsValid)
+ {
+ _context.Update(musicalTendency);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ return View(musicalTendency);
+ }
+
+ // GET: MusicalTendencies/Delete/5
+ [ActionName("Delete")]
+ public IActionResult Delete(long? id)
+ {
+ if (id == null)
+ {
+ return HttpNotFound();
+ }
+
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+ if (musicalTendency == null)
+ {
+ return HttpNotFound();
+ }
+
+ return View(musicalTendency);
+ }
+
+ // POST: MusicalTendencies/Delete/5
+ [HttpPost, ActionName("Delete")]
+ [ValidateAntiForgeryToken]
+ public IActionResult DeleteConfirmed(long id)
+ {
+ MusicalTendency musicalTendency = _context.MusicalTendency.Single(m => m.Id == id);
+ _context.MusicalTendency.Remove(musicalTendency);
+ _context.SaveChanges();
+ return RedirectToAction("Index");
+ }
+ }
+}
diff --git a/Yavsc/Helpers/EstimateHelpers.cs b/Yavsc/Helpers/EstimateHelpers.cs
new file mode 100644
index 00000000..5976cff4
--- /dev/null
+++ b/Yavsc/Helpers/EstimateHelpers.cs
@@ -0,0 +1,16 @@
+
+using Yavsc.Models.Billing;
+
+namespace Yavsc.Helpers
+{
+ public static class EstimateHelpers {
+ public static decimal GetTotal(this Estimate estimate)
+ {
+ decimal result = 0;
+ foreach (var l in estimate.Bill)
+ result += l.Count*l.UnitaryCost;
+ return result;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/Yavsc/Helpers/EventHelpers.cs b/Yavsc/Helpers/EventHelpers.cs
index 610b1e47..f65d352b 100644
--- a/Yavsc/Helpers/EventHelpers.cs
+++ b/Yavsc/Helpers/EventHelpers.cs
@@ -1,5 +1,4 @@
using Microsoft.Extensions.Localization;
-using Yavsc.Model;
using Yavsc.Models.Booking;
using Yavsc.Models.Messaging;
@@ -12,14 +11,18 @@ namespace Yavsc.Helpers
{
var yaev = new BookQueryEvent
{
- Client = new ClientProviderInfo { UserName = query.Client.UserName , UserId = query.ClientId } ,
+ Client = new ClientProviderInfo {
+ UserName = query.Client.UserName ,
+ UserId = query.ClientId,
+ Avatar = query.Client.Avatar } ,
Previsional = query.Previsional,
EventDate = query.EventDate,
Location = query.Location,
- Id = query.Id
+ Id = query.Id,
+ Reason = query.Reason
};
return yaev;
}
-
+
}
}
diff --git a/Yavsc/Helpers/FileSystemHelpers.cs b/Yavsc/Helpers/FileSystemHelpers.cs
index cc294e89..0c42fcad 100644
--- a/Yavsc/Helpers/FileSystemHelpers.cs
+++ b/Yavsc/Helpers/FileSystemHelpers.cs
@@ -1,15 +1,18 @@
+using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Net.Mime;
using System.Security.Claims;
+using System.Web;
using Microsoft.AspNet.Http;
using Yavsc.ApiControllers;
using Yavsc.Models;
using Yavsc.Models.FileSystem;
+using Yavsc.ViewModels;
using Yavsc.ViewModels.UserFiles;
namespace Yavsc.Helpers
@@ -24,7 +27,7 @@ namespace Yavsc.Helpers
return di;
}
- static char[] ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~.".ToCharArray();
+ static char[] ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~. ".ToCharArray();
public static bool IsValidDirectoryName(this string name)
{
@@ -95,16 +98,17 @@ namespace Yavsc.Helpers
user.DiskUsage = usage;
return item;
}
+ public static HtmlString FileLink(this DefaultFileInfo info, string username, string subpath)
+ {
+ return new HtmlString( Startup.UserFilesOptions.RequestPath+"/"+ username + "/" + subpath + "/" +
+ HttpUtility.UrlEncode(info.Name) );
+ }
public static FileRecievedInfo ReceiveAvatar(this ApplicationUser user, IFormFile formFile)
{
var item = new FileRecievedInfo();
item.FileName = user.UserName + ".png";
var destFileName = Path.Combine(Startup.SiteSetup.UserFiles.Avatars, item.FileName);
- ImageProcessor.ImageFactory f = new ImageProcessor.ImageFactory();
-
- ImageProcessor.Web.Processors.Resize r = new ImageProcessor.Web.Processors.Resize();
-
var fi = new FileInfo(destFileName);
if (fi.Exists) item.Overriden = true;
Rectangle cropRect = new Rectangle();
@@ -166,5 +170,27 @@ namespace Yavsc.Helpers
dir, xsmallname), ImageFormat.Png);
}
}
+ public static Func
+ SignFileNameFormat = new Func ((signType,estimateId) => $"estimate-{signType}sign-{estimateId}.png");
+
+ public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, long estimateId, IFormFile formFile, string signtype)
+ {
+ var item = new FileRecievedInfo();
+ item.FileName = SignFileNameFormat("pro",estimateId);
+ var destFileName = Path.Combine(Startup.SiteSetup.UserFiles.Bills, item.FileName);
+
+ var fi = new FileInfo(destFileName);
+ if (fi.Exists) item.Overriden = true;
+
+ using (var org = formFile.OpenReadStream())
+ {
+ Image i = Image.FromStream(org);
+ using (Bitmap source = new Bitmap(i))
+ {
+ source.Save(destFileName, ImageFormat.Png);
+ }
+ }
+ return item;
+ }
}
}
diff --git a/Yavsc/Helpers/ListItemHelpers.cs b/Yavsc/Helpers/ListItemHelpers.cs
index 5a9c2b60..18a62eba 100644
--- a/Yavsc/Helpers/ListItemHelpers.cs
+++ b/Yavsc/Helpers/ListItemHelpers.cs
@@ -3,25 +3,19 @@ using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Mvc.Rendering;
using Yavsc.Models;
+using Yavsc.Models.Workflow;
namespace Yavsc.Helpers {
public static class ListItemHelpers {
public static List ActivityItems(
- this ApplicationDbContext _dbContext, string selectedCode)
+ this ApplicationDbContext _dbContext, List activity)
{
- var codeIsNull = (string.IsNullOrEmpty(selectedCode));
- List items;
- if (codeIsNull) items = _dbContext.Activities.Select(
+ List items = _dbContext.Activities.Select(
x=> new SelectListItem() {
- Value=x.Code, Text=x.Name
- } ).ToList();
- else items =
- _dbContext.Activities.Select(
- x=> new SelectListItem() {
- Value=x.Code, Text=x.Name,
- Selected = (x.Code == selectedCode)
+ Value = x.Code, Text = x.Name, Selected = activity.Any(a=>a.DoesCode == x.Code)
} ).ToList();
+
return items;
}
}
diff --git a/Yavsc/Helpers/TeXHelpers.cs b/Yavsc/Helpers/TeXHelpers.cs
index 6c2ef6c2..39ddf3c7 100644
--- a/Yavsc/Helpers/TeXHelpers.cs
+++ b/Yavsc/Helpers/TeXHelpers.cs
@@ -6,14 +6,26 @@ using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.AspNet.Mvc.ViewEngines;
-using Yavsc.ViewModels.Gen;
namespace Yavsc.Helpers
{
- public class TeXString
+ using ViewModels.Gen;
+ public class TeXString : HtmlString
{
- public class Replacement
+ public TeXString(TeXString teXString): base(teXString.ToString())
+ {
+ }
+
+ public TeXString(string str) : base(str)
+ {
+
+
+ }
+
+
+ }
+ public class Replacement
{
string target;
string replacement;
@@ -27,8 +39,9 @@ namespace Yavsc.Helpers
return source.Replace(target, replacement);
}
}
-
- public readonly static Replacement[] SpecialCharsRendering =
+ public static class TeXHelpers
+ {
+ public static readonly Replacement[] SpecialCharsRendering =
{
new Replacement("<","\\textless"),
new Replacement(">","\\textgreater"),
@@ -53,23 +66,16 @@ namespace Yavsc.Helpers
new Replacement("†","\\dag"),
new Replacement("–","\\textendash")
};
- string data;
- public TeXString(string str)
+
+ public static TeXString ToTeX(this string source)
{
- data = str;
+ string result=source;
foreach (var r in SpecialCharsRendering)
{
- data = r.Execute(data);
+ result = r.Execute(result);
}
+ return new TeXString(result);
}
-
- override public string ToString()
- {
- return data;
- }
- }
- public static class TeXHelpers
- {
public static string NewLinesWith(this string target, string separator)
{
var items = target.Split(new char[] { '\n' }).Where(
@@ -78,11 +84,19 @@ namespace Yavsc.Helpers
return string.Join(separator, items);
}
- public static TeXString ToTeX(string target, string lineSeparator = "\n\\\\")
+ public static TeXString ToTeX(this string target, string lineSeparator = "\n\\\\")
{
if (target == null) return null;
- return new TeXString(target.NewLinesWith(lineSeparator));
+ return new TeXString( target.ToTeX().ToString().NewLinesWith(lineSeparator) );
}
+
+ public static TeXString SplitAddressToTeX (this string target)
+ {
+ var alines = target.Split(',');
+ var texlines = alines.Select(l=>l.ToTeX().ToString());
+ return new TeXString(string.Join("\\\\\n",texlines));
+ }
+
public static bool GenerateEstimatePdf(this PdfGenerationViewModel Model)
{
string errorMsg = null;
@@ -111,6 +125,7 @@ namespace Yavsc.Helpers
p.StartInfo.WorkingDirectory = tempdir;
p.StartInfo = new ProcessStartInfo();
p.StartInfo.UseShellExecute = false;
+ p.StartInfo.WorkingDirectory = tempdir;
p.StartInfo.FileName = "/usr/bin/texi2pdf";
p.StartInfo.Arguments = $"--batch --build-dir=. -o {fo.FullName} {fi.FullName}";
p.Start();
@@ -121,6 +136,8 @@ namespace Yavsc.Helpers
}
}
fi.Delete();
+ var di = new DirectoryInfo(Path.Combine(tempdir,$"{Model.BaseFileName}.t2d"));
+ di.Delete(true);
}
Model.Generated = fo.Exists;
Model.GenerationErrorMessage = new HtmlString(errorMsg);
diff --git a/Yavsc/Helpers/WorkflowHelpers.cs b/Yavsc/Helpers/WorkflowHelpers.cs
new file mode 100644
index 00000000..2ccb70e7
--- /dev/null
+++ b/Yavsc/Helpers/WorkflowHelpers.cs
@@ -0,0 +1,16 @@
+using Yavsc.Models;
+using Yavsc.Models.Workflow;
+using YavscLib;
+
+namespace Yavsc.Helpers
+{
+ public static class WorkflowHelpers
+ {
+ public static ISpecializationSettings CreateSettings (this Activity activity) {
+ if (activity.SettingsClassName==null) return null;
+ var ctor = Startup.ProfileTypes[activity.SettingsClassName].GetConstructor(System.Type.EmptyTypes);
+ if (ctor==null) return null;
+ return (ISpecializationSettings) ctor.Invoke(null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Yavsc/Hubs/ChatHub.cs b/Yavsc/Hubs/ChatHub.cs
index 21e2e4b2..a5f0522b 100644
--- a/Yavsc/Hubs/ChatHub.cs
+++ b/Yavsc/Hubs/ChatHub.cs
@@ -19,7 +19,6 @@
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see .
using Microsoft.AspNet.SignalR;
-using Microsoft.Data.Entity;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
@@ -27,8 +26,7 @@ using System.Linq;
namespace Yavsc
{
using Models;
- using Model.Chat;
- using ViewModels.Chat;
+ using Models.Chat;
public class ChatHub : Hub
{
@@ -127,7 +125,7 @@ namespace Yavsc
{
string uname = (Context.User != null) ?
$"[{Context.User.Identity.Name}]" :
- $"(anony{name})";
+ $"({name})";
Clients.All.addMessage(uname, message);
}
@@ -155,26 +153,5 @@ namespace Yavsc
}
- public List GetUserList()
- {
- using (var db = new ApplicationDbContext()) {
-
- var cxsQuery = db.Connections.Include(c=>c.Owner).GroupBy( c => c.ApplicationUserId );
-
- List result = new List();
-
- foreach (var g in cxsQuery) {
-
- var uid = g.Key;
- var cxs = g.ToList();
- var user = cxs.First().Owner;
-
- result.Add(new ChatUserInfo { UserName = user.UserName,
- UserId = user.Id, Avatar = user.Avatar, Connections = cxs } );
-
- }
- return result;
- }
- }
}
}
diff --git a/Yavsc/Interfaces/IBookQueryData.cs b/Yavsc/Interfaces/IBookQueryData.cs
index ab156929..49f8aa03 100644
--- a/Yavsc/Interfaces/IBookQueryData.cs
+++ b/Yavsc/Interfaces/IBookQueryData.cs
@@ -1,8 +1,8 @@
using System;
-using Yavsc.Model;
namespace Yavsc.Interfaces
{
+ using Yavsc.Models.Messaging;
public interface IBookQueryData
{
ClientProviderInfo Client { get; set; }
diff --git a/Yavsc/Interfaces/Workflow/IEvent.cs b/Yavsc/Interfaces/Workflow/IEvent.cs
index 6ee109e7..df7a8714 100644
--- a/Yavsc/Interfaces/Workflow/IEvent.cs
+++ b/Yavsc/Interfaces/Workflow/IEvent.cs
@@ -2,13 +2,18 @@
public interface IEvent {
///
- /// An acceptable topic for this event to be.
- /// Should return something like the class name
- /// of this object
+ /// /topic/(bookquery|estimate)
///
///
string Topic { get; set ; }
+ ///
+ /// Should be the user's name
+ ///
+ ///
string Sender { get; set ; }
-
+ ///
+ /// The message
+ ///
+ ///
string Message { get; set; }
}
\ No newline at end of file
diff --git a/Yavsc/Migrations/20160702195348_GCMinfos.cs b/Yavsc/Migrations/20160702195348_GCMinfos.cs
index d980bd80..111bdd0a 100644
--- a/Yavsc/Migrations/20160702195348_GCMinfos.cs
+++ b/Yavsc/Migrations/20160702195348_GCMinfos.cs
@@ -193,6 +193,7 @@ namespace Yavsc.Migrations
table: "GoogleCloudMobileDeclaration",
nullable: false,
defaultValue: "");
+ migrationBuilder.Sql("delete from \"GoogleCloudMobileDeclaration\"");
migrationBuilder.AddColumn(
name: "Name",
table: "GoogleCloudMobileDeclaration",
diff --git a/Yavsc/Migrations/20161209121035_bookQueryReason.Designer.cs b/Yavsc/Migrations/20161209121035_bookQueryReason.Designer.cs
new file mode 100644
index 00000000..3726ab32
--- /dev/null
+++ b/Yavsc/Migrations/20161209121035_bookQueryReason.Designer.cs
@@ -0,0 +1,838 @@
+using System;
+using Microsoft.Data.Entity;
+using Microsoft.Data.Entity.Infrastructure;
+using Microsoft.Data.Entity.Migrations;
+using Yavsc.Models;
+
+namespace Yavsc.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20161209121035_bookQueryReason")]
+ partial class bookQueryReason
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.0-rc1-16348");
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRole", b =>
+ {
+ b.Property("Id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken();
+
+ b.Property("Name")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("NormalizedName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedName")
+ .HasAnnotation("Relational:Name", "RoleNameIndex");
+
+ b.HasAnnotation("Relational:TableName", "AspNetRoles");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ClaimType");
+
+ b.Property("ClaimValue");
+
+ b.Property("RoleId")
+ .IsRequired();
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:TableName", "AspNetRoleClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ClaimType");
+
+ b.Property("ClaimValue");
+
+ b.Property("UserId")
+ .IsRequired();
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin", b =>
+ {
+ b.Property("LoginProvider");
+
+ b.Property("ProviderKey");
+
+ b.Property("ProviderDisplayName");
+
+ b.Property("UserId")
+ .IsRequired();
+
+ b.HasKey("LoginProvider", "ProviderKey");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserLogins");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("RoleId");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserRoles");
+ });
+
+ modelBuilder.Entity("Yavsc.Location", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Address")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("Latitude");
+
+ b.Property("Longitude");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Model.Bank.BankIdentity", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AccountNumber")
+ .HasAnnotation("MaxLength", 15);
+
+ b.Property("BIC")
+ .HasAnnotation("MaxLength", 15);
+
+ b.Property("BankCode")
+ .HasAnnotation("MaxLength", 5);
+
+ b.Property("BankedKey");
+
+ b.Property("IBAN")
+ .HasAnnotation("MaxLength", 33);
+
+ b.Property("WicketCode")
+ .HasAnnotation("MaxLength", 5);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Model.Chat.Connection", b =>
+ {
+ b.Property("ConnectionId");
+
+ b.Property("ApplicationUserId");
+
+ b.Property("Connected");
+
+ b.Property("UserAgent");
+
+ b.HasKey("ConnectionId");
+ });
+
+ modelBuilder.Entity("Yavsc.Model.ClientProviderInfo", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("Avatar");
+
+ b.Property("BillingAddressId");
+
+ b.Property("ChatHubConnectionId");
+
+ b.Property("EMail");
+
+ b.Property("Phone");
+
+ b.Property("Rate");
+
+ b.Property("UserName");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("ContactCredits");
+
+ b.Property("Credits");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Activity", b =>
+ {
+ b.Property("Code")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("ActorDenomination");
+
+ b.Property("Description");
+
+ b.Property("ModeratorGroupName");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("Photo");
+
+ b.HasKey("Code");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
+ {
+ b.Property("Id");
+
+ b.Property("AccessFailedCount");
+
+ b.Property("Avatar")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("BankInfoId");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken();
+
+ b.Property("DedicatedGoogleCalendar");
+
+ b.Property("DiskQuota");
+
+ b.Property("DiskUsage");
+
+ b.Property("Email")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("EmailConfirmed");
+
+ b.Property("FullName")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("LockoutEnabled");
+
+ b.Property("LockoutEnd");
+
+ b.Property("NormalizedEmail")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("NormalizedUserName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("PasswordHash");
+
+ b.Property("PhoneNumber");
+
+ b.Property("PhoneNumberConfirmed");
+
+ b.Property("PostalAddressId");
+
+ b.Property("SecurityStamp");
+
+ b.Property("TwoFactorEnabled");
+
+ b.Property("UserName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedEmail")
+ .HasAnnotation("Relational:Name", "EmailIndex");
+
+ b.HasIndex("NormalizedUserName")
+ .HasAnnotation("Relational:Name", "UserNameIndex");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUsers");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Auth.Client", b =>
+ {
+ b.Property("Id");
+
+ b.Property("Active");
+
+ b.Property("DisplayName");
+
+ b.Property("LogoutRedirectUri")
+ .HasAnnotation("MaxLength", 100);
+
+ b.Property("RedirectUri");
+
+ b.Property("RefreshTokenLifeTime");
+
+ b.Property("Secret");
+
+ b.Property("Type");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b =>
+ {
+ b.Property("Id");
+
+ b.Property("ClientId")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 50);
+
+ b.Property("ExpiresUtc");
+
+ b.Property("IssuedUtc");
+
+ b.Property("ProtectedTicket")
+ .IsRequired();
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 50);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("BalanceId")
+ .IsRequired();
+
+ b.Property("ExecDate");
+
+ b.Property("Impact");
+
+ b.Property("Reason")
+ .IsRequired();
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ArticleId");
+
+ b.Property("Count");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("EstimateId");
+
+ b.Property("EstimateTemplateId");
+
+ b.Property("UnitaryCost");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AttachedFilesString");
+
+ b.Property("AttachedGraphicsString");
+
+ b.Property("ClientId")
+ .IsRequired();
+
+ b.Property("ClientValidationDate");
+
+ b.Property("CommandId");
+
+ b.Property("CommandType");
+
+ b.Property("Description");
+
+ b.Property("OwnerId")
+ .IsRequired();
+
+ b.Property("ProviderValidationDate");
+
+ b.Property("Title");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Description");
+
+ b.Property("OwnerId")
+ .IsRequired();
+
+ b.Property("Title");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b =>
+ {
+ b.Property("SIREN");
+
+ b.HasKey("SIREN");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Blog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuthorId");
+
+ b.Property("Content");
+
+ b.Property("Modified");
+
+ b.Property("Photo");
+
+ b.Property("Posted")
+ .ValueGeneratedOnAdd()
+ .HasAnnotation("Relational:GeneratedValueSql", "LOCALTIMESTAMP");
+
+ b.Property("Rate");
+
+ b.Property("Title");
+
+ b.Property("Visible");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.BookQuery", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ClientId")
+ .IsRequired();
+
+ b.Property("CreationDate")
+ .ValueGeneratedOnAdd()
+ .HasAnnotation("Relational:GeneratedValueSql", "LOCALTIMESTAMP");
+
+ b.Property("EventDate");
+
+ b.Property("LocationId");
+
+ b.Property("PerformerId")
+ .IsRequired();
+
+ b.Property("Previsional");
+
+ b.Property("Reason");
+
+ b.Property("ValidationDate");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Circle", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ApplicationUserId");
+
+ b.Property("Name");
+
+ b.Property("OwnerId");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.CircleMember", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("CircleId");
+
+ b.Property("MemberId")
+ .IsRequired();
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Contact", b =>
+ {
+ b.Property("OwnerId");
+
+ b.Property("UserId");
+
+ b.Property("ApplicationUserId");
+
+ b.HasKey("OwnerId", "UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Identity.GoogleCloudMobileDeclaration", b =>
+ {
+ b.Property("DeviceId");
+
+ b.Property("DeclarationDate")
+ .ValueGeneratedOnAdd()
+ .HasAnnotation("Relational:GeneratedValueSql", "LOCALTIMESTAMP");
+
+ b.Property("DeviceOwnerId");
+
+ b.Property("GCMRegistrationId")
+ .IsRequired();
+
+ b.Property("Model");
+
+ b.Property("Platform");
+
+ b.Property("Version");
+
+ b.HasKey("DeviceId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.BaseProduct", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Description");
+
+ b.Property("Discriminator")
+ .IsRequired();
+
+ b.Property("Name");
+
+ b.Property("Public");
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:DiscriminatorProperty", "Discriminator");
+
+ b.HasAnnotation("Relational:DiscriminatorValue", "BaseProduct");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ContextId");
+
+ b.Property("Description");
+
+ b.Property("Name");
+
+ b.Property