diff --git a/GUT.Schedule/GUT.Schedule/Activities/ExportActivity.cs b/GUT.Schedule/GUT.Schedule/Activities/ExportActivity.cs index dcef77c..2200c97 100644 --- a/GUT.Schedule/GUT.Schedule/Activities/ExportActivity.cs +++ b/GUT.Schedule/GUT.Schedule/Activities/ExportActivity.cs @@ -31,13 +31,21 @@ namespace GUT.Schedule { try { - if(Data.DataSet.HttpClient != null) - { + if(Data.DataSet.IsProfessor == true) status.Text = "Загрузка расписания с картофельных серверов Бонча"; - List schedule = new List(); + else + status.Text = "Загрузка расписания"; - for (DateTime d = Data.StartDate; int.Parse($"{d.Year}{d.Month:00}") <= int.Parse($"{Data.EndDate.Year}{Data.EndDate.Month:00}"); d = d.AddMonths(1)) - schedule.AddRange(await Parser.GetProfessorSchedule(Data.DataSet.HttpClient, d)); + if (Data.DataSet.HttpClient != null) + { + List schedule = new List(); + + for(DateTime d = Data.StartDate; d <= Data.EndDate; d = d.AddMonths(1)) + schedule.AddRange(await Parser.GetCabinetSchedule(Data.DataSet.HttpClient, d, false)); // Even though the user can be professor he can be also PhD student (and have his student schedule) + + if(Data.DataSet.IsProfessor == true) + for (DateTime d = Data.StartDate; d <= Data.EndDate; d = d.AddMonths(1)) + schedule.AddRange(await Parser.GetCabinetSchedule(Data.DataSet.HttpClient, d, true)); schedule = schedule.FindAll(i => i.StartTime.Date >= Data.StartDate && i.StartTime.Date <= Data.EndDate); // Filtering schedule according to export range @@ -46,7 +54,6 @@ namespace GUT.Schedule } else { - status.Text = "Загрузка расписания"; List schedule = await Parser.LoadSchedule(); schedule = schedule.FindAll(i => i.StartTime.Date >= Data.StartDate && i.StartTime.Date <= Data.EndDate); // Filtering schedule according to export range diff --git a/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs b/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs index 6813dcc..cd721be 100644 --- a/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs +++ b/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs @@ -22,8 +22,8 @@ namespace GUT.Schedule { Button start, end, export; Button forDay, forWeek, forMonth, forSemester; - Spinner faculty, course, group, reminder, calendar, user; - CheckBox groupTitle; + Spinner faculty, course, group, reminder, calendar; + CheckBox groupTitle, authorize; TextView error; LinearLayout studentParams, profParams; EditText email, password; @@ -50,13 +50,6 @@ namespace GUT.Schedule AddEvents(); // Settings spinners' dropdown lists content - user.SetList(this, new[] - { - "Студент", - "Преподаватель" - }); - user.SetSelection(prefs.GetInt("User", 0)); - reminder.SetList(this, new[] { "Нет", @@ -74,6 +67,7 @@ namespace GUT.Schedule start.Text = Data.StartDate.ToShortDateString(); groupTitle.Checked = prefs.GetBoolean("AddGroupToHeader", false); + authorize.Checked = prefs.GetBoolean("Authorize", true); email.Text = prefs.GetString("email", ""); password.Text = prefs.GetString("password", ""); @@ -91,7 +85,8 @@ namespace GUT.Schedule } HttpClient client = null; - if(user.SelectedItemPosition == 1) + bool? isProf = null; + if(authorize.Checked) { Toast.MakeText(ApplicationContext, "Авторизация...", ToastLength.Short).Show(); if (string.IsNullOrWhiteSpace(email.Text) || string.IsNullOrWhiteSpace(password.Text)) @@ -133,12 +128,11 @@ namespace GUT.Schedule HttpResponseMessage verificationResponse = await client.GetAsync("https://cabs.itut.ru/cabinet/?login=yes"); export.Enabled = true; IHtmlDocument doc = new HtmlParser().ParseDocument(await verificationResponse.GetString()); - if (!doc.QuerySelectorAll("nobr").Any(i => i.TextContent.Contains("Ведомости"))) - { - error.Text = "Ошибка авторизации: Необходимо авторизоваться с аккаунтом преподавателя"; - error.Visibility = ViewStates.Visible; - return; - } + if (doc.QuerySelectorAll("option").Any(i => i.TextContent.Contains("Сотрудник"))) + isProf = true; + else + isProf = false; + Data.Groups = null; // Если ты это читаешь и у тебя возникли вопросы по типу "А какого хуя творится в коде ниже?!", то во-первых: @@ -148,8 +142,8 @@ namespace GUT.Schedule // что творится на серверах Бонча (я не шучу, там все ОЧЕНЬ плохо) // Ну и в-третьих: Андроид - это пиздец и настоящий ад разработчика. И если бы была моя воля, я бы под него никогда не писал #FuckAndroid // З.Ы. Помнишь про второй пункт? Так вот, если ты используешь такой же пароль как в ЛК где-то еще, настоятельно рекомендую его поменять - PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutBoolean("email", groupTitle.Checked).Apply(); - PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutBoolean("password", groupTitle.Checked).Apply(); + PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutString("email", email.Text).Apply(); + PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutString("password", password.Text).Apply(); } else { @@ -170,7 +164,8 @@ namespace GUT.Schedule AddGroupToTitle = groupTitle.Checked, Calendar = Calendar.Calendars[calendar.SelectedItemPosition].Id, Reminder = (reminder.SelectedItemPosition - 1) * 5, - HttpClient = client + HttpClient = client, + IsProfessor = isProf }; StartActivity(new Intent(this, typeof(ExportActivity))); @@ -223,10 +218,11 @@ namespace GUT.Schedule group = FindViewById(Resource.Id.group); reminder = FindViewById(Resource.Id.reminder); calendar = FindViewById(Resource.Id.calendar); - user = FindViewById(Resource.Id.user); error = FindViewById(Resource.Id.error); + groupTitle = FindViewById(Resource.Id.groupTitle); + authorize = FindViewById(Resource.Id.authorization); studentParams = FindViewById(Resource.Id.studentParams); profParams = FindViewById(Resource.Id.professorParams); @@ -247,21 +243,18 @@ namespace GUT.Schedule prefs.Edit().PutInt("Course", e.Position).Apply(); UpdateGroupsList(); }; - user.ItemSelected += (s, e) => + authorize.CheckedChange += (s, e) => { - prefs.Edit().PutInt("User", e.Position).Apply(); - switch (e.Position) + prefs.Edit().PutBoolean("Authorize", e.IsChecked).Apply(); + if (e.IsChecked) { - case 0: - studentParams.Visibility = ViewStates.Visible; - groupTitle.Visibility = ViewStates.Visible; - profParams.Visibility = ViewStates.Gone; - break; - case 1: - studentParams.Visibility = ViewStates.Gone; - groupTitle.Visibility = ViewStates.Gone; - profParams.Visibility = ViewStates.Visible; - break; + studentParams.Visibility = ViewStates.Gone; + profParams.Visibility = ViewStates.Visible; + } + else + { + studentParams.Visibility = ViewStates.Visible; + profParams.Visibility = ViewStates.Gone; } }; calendar.ItemSelected += (s, e) => diff --git a/GUT.Schedule/GUT.Schedule/Calendar.cs b/GUT.Schedule/GUT.Schedule/Calendar.cs index 2c216e5..bfb147d 100644 --- a/GUT.Schedule/GUT.Schedule/Calendar.cs +++ b/GUT.Schedule/GUT.Schedule/Calendar.cs @@ -85,22 +85,23 @@ namespace GUT.Schedule } } - public static void Export(IEnumerable schedule) + public static void Export(IEnumerable schedule) { DataSet data = Data.DataSet; - foreach (ProfessorSubject item in schedule) + foreach (CabinetSubject item in schedule) { ContentValues eventValues = new ContentValues(); eventValues.Put(CalendarContract.Events.InterfaceConsts.CalendarId, data.Calendar); - eventValues.Put(CalendarContract.Events.InterfaceConsts.Title, string.Format("{0}. {1} ({2})", + eventValues.Put(CalendarContract.Events.InterfaceConsts.Title, string.Format("{0}{1}. {2} ({3})", + item.ProfessorSchedule ? "📚 " : (data.AddGroupToTitle ? $"[{data.Group}] " : ""), item.Order, item.Name, item.Type)); - eventValues.Put(CalendarContract.Events.InterfaceConsts.Description, item.Groups); + eventValues.Put(CalendarContract.Events.InterfaceConsts.Description, item.Opponent); eventValues.Put(CalendarContract.Events.InterfaceConsts.EventLocation, item.Cabinet); eventValues.Put(CalendarContract.Events.InterfaceConsts.Availability, 0); diff --git a/GUT.Schedule/GUT.Schedule/GUT.Schedule.csproj b/GUT.Schedule/GUT.Schedule/GUT.Schedule.csproj index 45929f2..de85ea1 100644 --- a/GUT.Schedule/GUT.Schedule/GUT.Schedule.csproj +++ b/GUT.Schedule/GUT.Schedule/GUT.Schedule.csproj @@ -75,7 +75,7 @@ - + diff --git a/GUT.Schedule/GUT.Schedule/Models/ProfessorSubject.cs b/GUT.Schedule/GUT.Schedule/Models/CabinetSubject.cs similarity index 77% rename from GUT.Schedule/GUT.Schedule/Models/ProfessorSubject.cs rename to GUT.Schedule/GUT.Schedule/Models/CabinetSubject.cs index dac01b8..22a8472 100644 --- a/GUT.Schedule/GUT.Schedule/Models/ProfessorSubject.cs +++ b/GUT.Schedule/GUT.Schedule/Models/CabinetSubject.cs @@ -2,7 +2,7 @@ namespace GUT.Schedule.Models { - public class ProfessorSubject + public class CabinetSubject { public string Name { get; set; } public string Type { get; set; } @@ -10,14 +10,16 @@ namespace GUT.Schedule.Models public string Order { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } - public string Groups { get; set; } + public string Opponent { get; set; } + public bool ProfessorSchedule { get; set; } - public ProfessorSubject(string name, string type, string cabinet, string groups, int year, int month, int day, string schedule) + public CabinetSubject(string name, string type, string cabinet, string opponent, int year, int month, int day, string schedule, bool profSchedule) { Name = name; Type = type; Cabinet = cabinet; - Groups = groups; + Opponent = opponent; + ProfessorSchedule = profSchedule; string[] time = schedule.Split('-'); diff --git a/GUT.Schedule/GUT.Schedule/Models/DataSet.cs b/GUT.Schedule/GUT.Schedule/Models/DataSet.cs index 4c5e288..c2b88b6 100644 --- a/GUT.Schedule/GUT.Schedule/Models/DataSet.cs +++ b/GUT.Schedule/GUT.Schedule/Models/DataSet.cs @@ -11,5 +11,6 @@ namespace GUT.Schedule.Models public int Reminder { get; set; } public bool AddGroupToTitle { get; set; } public HttpClient HttpClient { get; set; } + public bool? IsProfessor { get; set; } } } \ No newline at end of file diff --git a/GUT.Schedule/GUT.Schedule/Parser.cs b/GUT.Schedule/GUT.Schedule/Parser.cs index b72f25c..0f6b83a 100644 --- a/GUT.Schedule/GUT.Schedule/Parser.cs +++ b/GUT.Schedule/GUT.Schedule/Parser.cs @@ -4,6 +4,7 @@ using AngleSharp.Html.Parser; using GUT.Schedule.Models; using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; @@ -122,9 +123,9 @@ namespace GUT.Schedule return $"205.{now.Year - 2001}{now.Year - 2000}/2"; } - public static async Task> GetProfessorSchedule(HttpClient client, DateTime date) + public static async Task> GetCabinetSchedule(HttpClient client, DateTime date, bool checkProfSchedule) { - using HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://cabs.itut.ru/cabinet/project/cabinet/forms/pr_raspisanie_kalendar.php"); + using HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, $"https://cabs.itut.ru/cabinet/project/cabinet/forms/{(checkProfSchedule ? "pr_" : "")}raspisanie_kalendar.php"); request.SetContent( ("month", date.Month.ToString()), ("year", date.Year.ToString()), @@ -137,23 +138,40 @@ namespace GUT.Schedule throw new HttpRequestException(responseContent); IHtmlDocument doc = new HtmlParser().ParseDocument(responseContent); - List schedule = new List(); - foreach(var i in doc.QuerySelectorAll("td").Where(i => i.GetAttribute("style") == "text-align: center; vertical-align: top")) + List schedule = new List(); + + if(!checkProfSchedule) + Data.DataSet.Group = doc.QuerySelector(".style_gr b").TextContent; + + foreach (var i in doc.QuerySelectorAll("td").Where(i => i.GetAttribute("style") == "text-align: center; vertical-align: top")) for (int k = 0; k < i.QuerySelectorAll("i").Length; k++) { - ProfessorSubject item = new ProfessorSubject( + CabinetSubject item = new CabinetSubject( name: i.QuerySelectorAll("b")[k * 2 + 1].TextContent, type: i.QuerySelectorAll("i")[k].TextContent, - cabinet: i.ChildNodes[k * 13 + 12].TextContent, - groups: i.ChildNodes[k * 13 + 7].TextContent, + cabinet: i.QuerySelectorAll("small")[k].NextSibling.TextContent.Replace("; Б22", ""), + opponent: i.QuerySelectorAll("i")[k].NextSibling.NextSibling.NodeType == NodeType.Text ? + i.QuerySelectorAll("i")[k].NextSibling.NextSibling.TextContent : "", year: date.Year, month: date.Month, - day: int.Parse(i.QuerySelectorAll("b")[0].TextContent), - schedule: i.QuerySelectorAll("b")[k * 2 + 2].TextContent - ); + day: int.Parse(i.ChildNodes[0].TextContent), + schedule: i.QuerySelectorAll("b")[k * 2 + 2].TextContent, + checkProfSchedule); schedule.Add(item); } + // Merge duplicating entries + schedule.OrderByDescending(i => i.StartTime); + for(int k = 1; k < schedule.Count; k++) + if(schedule[k - 1].StartTime == schedule[k].StartTime && + schedule[k - 1].Name == schedule[k].Name && + schedule[k - 1].Type == schedule[k].Type) + { + schedule[k - 1].Opponent += "\n" + schedule[k].Opponent; + schedule[k - 1].Cabinet += "; " + schedule[k].Cabinet; + schedule.RemoveAt(k--); + } + return schedule; } } diff --git a/GUT.Schedule/GUT.Schedule/Properties/AndroidManifest.xml b/GUT.Schedule/GUT.Schedule/Properties/AndroidManifest.xml index 3638e05..ebbb647 100644 --- a/GUT.Schedule/GUT.Schedule/Properties/AndroidManifest.xml +++ b/GUT.Schedule/GUT.Schedule/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@  - + diff --git a/GUT.Schedule/GUT.Schedule/Resources/Resource.designer.cs b/GUT.Schedule/GUT.Schedule/Resources/Resource.designer.cs index a2bcdfa..fdbfcb1 100644 --- a/GUT.Schedule/GUT.Schedule/Resources/Resource.designer.cs +++ b/GUT.Schedule/GUT.Schedule/Resources/Resource.designer.cs @@ -3299,544 +3299,544 @@ namespace GUT.Schedule public const int async = 2131230750; // aapt resource value: 0x7F08001F - public const int auto = 2131230751; + public const int authorization = 2131230751; // aapt resource value: 0x7F080020 - public const int beginning = 2131230752; + public const int auto = 2131230752; // aapt resource value: 0x7F080021 - public const int blocking = 2131230753; + public const int beginning = 2131230753; // aapt resource value: 0x7F080022 - public const int bottom = 2131230754; + public const int blocking = 2131230754; // aapt resource value: 0x7F080023 - public const int browser_actions_header_text = 2131230755; - - // aapt resource value: 0x7F080026 - public const int browser_actions_menu_items = 2131230758; + public const int bottom = 2131230755; // aapt resource value: 0x7F080024 - public const int browser_actions_menu_item_icon = 2131230756; - - // aapt resource value: 0x7F080025 - public const int browser_actions_menu_item_text = 2131230757; + public const int browser_actions_header_text = 2131230756; // aapt resource value: 0x7F080027 - public const int browser_actions_menu_view = 2131230759; + public const int browser_actions_menu_items = 2131230759; + + // aapt resource value: 0x7F080025 + public const int browser_actions_menu_item_icon = 2131230757; + + // aapt resource value: 0x7F080026 + public const int browser_actions_menu_item_text = 2131230758; // aapt resource value: 0x7F080028 - public const int buttonPanel = 2131230760; + public const int browser_actions_menu_view = 2131230760; // aapt resource value: 0x7F080029 - public const int calendar = 2131230761; + public const int buttonPanel = 2131230761; // aapt resource value: 0x7F08002A - public const int center = 2131230762; + public const int calendar = 2131230762; // aapt resource value: 0x7F08002B - public const int center_horizontal = 2131230763; + public const int center = 2131230763; // aapt resource value: 0x7F08002C - public const int center_vertical = 2131230764; + public const int center_horizontal = 2131230764; // aapt resource value: 0x7F08002D - public const int checkbox = 2131230765; + public const int center_vertical = 2131230765; // aapt resource value: 0x7F08002E - public const int chronometer = 2131230766; + public const int checkbox = 2131230766; // aapt resource value: 0x7F08002F - public const int clear = 2131230767; + public const int chronometer = 2131230767; // aapt resource value: 0x7F080030 - public const int clip_horizontal = 2131230768; + public const int clear = 2131230768; // aapt resource value: 0x7F080031 - public const int clip_vertical = 2131230769; + public const int clip_horizontal = 2131230769; // aapt resource value: 0x7F080032 - public const int collapseActionView = 2131230770; + public const int clip_vertical = 2131230770; // aapt resource value: 0x7F080033 - public const int container = 2131230771; + public const int collapseActionView = 2131230771; // aapt resource value: 0x7F080034 - public const int content = 2131230772; + public const int container = 2131230772; // aapt resource value: 0x7F080035 - public const int contentPanel = 2131230773; + public const int content = 2131230773; // aapt resource value: 0x7F080036 - public const int coordinator = 2131230774; + public const int contentPanel = 2131230774; // aapt resource value: 0x7F080037 - public const int course = 2131230775; + public const int coordinator = 2131230775; + + // aapt resource value: 0x7F080038 + public const int course = 2131230776; // aapt resource value: 0x7F080001 public const int CTRL = 2131230721; - // aapt resource value: 0x7F080038 - public const int custom = 2131230776; - // aapt resource value: 0x7F080039 - public const int customPanel = 2131230777; + public const int custom = 2131230777; // aapt resource value: 0x7F08003A - public const int decor_content_parent = 2131230778; + public const int customPanel = 2131230778; // aapt resource value: 0x7F08003B - public const int default_activity_button = 2131230779; + public const int decor_content_parent = 2131230779; // aapt resource value: 0x7F08003C - public const int design_bottom_sheet = 2131230780; + public const int default_activity_button = 2131230780; // aapt resource value: 0x7F08003D - public const int design_menu_item_action_area = 2131230781; + public const int design_bottom_sheet = 2131230781; // aapt resource value: 0x7F08003E - public const int design_menu_item_action_area_stub = 2131230782; + public const int design_menu_item_action_area = 2131230782; // aapt resource value: 0x7F08003F - public const int design_menu_item_text = 2131230783; + public const int design_menu_item_action_area_stub = 2131230783; // aapt resource value: 0x7F080040 - public const int design_navigation_view = 2131230784; + public const int design_menu_item_text = 2131230784; // aapt resource value: 0x7F080041 - public const int disableHome = 2131230785; + public const int design_navigation_view = 2131230785; // aapt resource value: 0x7F080042 - public const int edit_query = 2131230786; + public const int disableHome = 2131230786; // aapt resource value: 0x7F080043 - public const int email = 2131230787; + public const int edit_query = 2131230787; // aapt resource value: 0x7F080044 - public const int end = 2131230788; + public const int email = 2131230788; // aapt resource value: 0x7F080045 - public const int enterAlways = 2131230789; + public const int end = 2131230789; // aapt resource value: 0x7F080046 - public const int enterAlwaysCollapsed = 2131230790; + public const int enterAlways = 2131230790; // aapt resource value: 0x7F080047 - public const int error = 2131230791; + public const int enterAlwaysCollapsed = 2131230791; // aapt resource value: 0x7F080048 - public const int exitUntilCollapsed = 2131230792; - - // aapt resource value: 0x7F08004A - public const int expanded_menu = 2131230794; + public const int error = 2131230792; // aapt resource value: 0x7F080049 - public const int expand_activities_button = 2131230793; + public const int exitUntilCollapsed = 2131230793; // aapt resource value: 0x7F08004B - public const int export = 2131230795; + public const int expanded_menu = 2131230795; + + // aapt resource value: 0x7F08004A + public const int expand_activities_button = 2131230794; // aapt resource value: 0x7F08004C - public const int faculty = 2131230796; + public const int export = 2131230796; // aapt resource value: 0x7F08004D - public const int fill = 2131230797; - - // aapt resource value: 0x7F080050 - public const int filled = 2131230800; + public const int faculty = 2131230797; // aapt resource value: 0x7F08004E - public const int fill_horizontal = 2131230798; - - // aapt resource value: 0x7F08004F - public const int fill_vertical = 2131230799; + public const int fill = 2131230798; // aapt resource value: 0x7F080051 - public const int @fixed = 2131230801; + public const int filled = 2131230801; + + // aapt resource value: 0x7F08004F + public const int fill_horizontal = 2131230799; + + // aapt resource value: 0x7F080050 + public const int fill_vertical = 2131230800; // aapt resource value: 0x7F080052 - public const int forDay = 2131230802; - - // aapt resource value: 0x7F080056 - public const int forever = 2131230806; + public const int @fixed = 2131230802; // aapt resource value: 0x7F080053 - public const int forMonth = 2131230803; + public const int forDay = 2131230803; + + // aapt resource value: 0x7F080057 + public const int forever = 2131230807; // aapt resource value: 0x7F080054 - public const int forSemester = 2131230804; + public const int forMonth = 2131230804; // aapt resource value: 0x7F080055 - public const int forWeek = 2131230805; + public const int forSemester = 2131230805; + + // aapt resource value: 0x7F080056 + public const int forWeek = 2131230806; // aapt resource value: 0x7F080002 public const int FUNCTION = 2131230722; - // aapt resource value: 0x7F080057 - public const int ghost_view = 2131230807; - // aapt resource value: 0x7F080058 - public const int group = 2131230808; + public const int ghost_view = 2131230808; // aapt resource value: 0x7F080059 - public const int groupTitle = 2131230809; + public const int group = 2131230809; // aapt resource value: 0x7F08005A - public const int group_divider = 2131230810; + public const int groupTitle = 2131230810; // aapt resource value: 0x7F08005B - public const int home = 2131230811; + public const int group_divider = 2131230811; // aapt resource value: 0x7F08005C - public const int homeAsUp = 2131230812; + public const int home = 2131230812; // aapt resource value: 0x7F08005D - public const int icon = 2131230813; + public const int homeAsUp = 2131230813; // aapt resource value: 0x7F08005E - public const int icon_group = 2131230814; + public const int icon = 2131230814; // aapt resource value: 0x7F08005F - public const int ifRoom = 2131230815; + public const int icon_group = 2131230815; // aapt resource value: 0x7F080060 - public const int image = 2131230816; + public const int ifRoom = 2131230816; // aapt resource value: 0x7F080061 - public const int info = 2131230817; + public const int image = 2131230817; // aapt resource value: 0x7F080062 - public const int italic = 2131230818; + public const int info = 2131230818; // aapt resource value: 0x7F080063 - public const int item_touch_helper_previous_elevation = 2131230819; + public const int italic = 2131230819; // aapt resource value: 0x7F080064 - public const int labeled = 2131230820; + public const int item_touch_helper_previous_elevation = 2131230820; // aapt resource value: 0x7F080065 - public const int largeLabel = 2131230821; + public const int labeled = 2131230821; // aapt resource value: 0x7F080066 - public const int left = 2131230822; + public const int largeLabel = 2131230822; // aapt resource value: 0x7F080067 - public const int line1 = 2131230823; + public const int left = 2131230823; // aapt resource value: 0x7F080068 - public const int line3 = 2131230824; + public const int line1 = 2131230824; // aapt resource value: 0x7F080069 - public const int listMode = 2131230825; + public const int line3 = 2131230825; // aapt resource value: 0x7F08006A - public const int list_item = 2131230826; + public const int listMode = 2131230826; // aapt resource value: 0x7F08006B - public const int masked = 2131230827; + public const int list_item = 2131230827; // aapt resource value: 0x7F08006C - public const int message = 2131230828; + public const int masked = 2131230828; + + // aapt resource value: 0x7F08006D + public const int message = 2131230829; // aapt resource value: 0x7F080003 public const int META = 2131230723; - // aapt resource value: 0x7F08006D - public const int middle = 2131230829; - // aapt resource value: 0x7F08006E - public const int mini = 2131230830; + public const int middle = 2131230830; // aapt resource value: 0x7F08006F - public const int mtrl_child_content_container = 2131230831; + public const int mini = 2131230831; // aapt resource value: 0x7F080070 - public const int mtrl_internal_children_alpha_tag = 2131230832; + public const int mtrl_child_content_container = 2131230832; // aapt resource value: 0x7F080071 - public const int multiply = 2131230833; + public const int mtrl_internal_children_alpha_tag = 2131230833; // aapt resource value: 0x7F080072 - public const int navigation_header_container = 2131230834; + public const int multiply = 2131230834; // aapt resource value: 0x7F080073 - public const int never = 2131230835; + public const int navigation_header_container = 2131230835; // aapt resource value: 0x7F080074 - public const int none = 2131230836; + public const int never = 2131230836; // aapt resource value: 0x7F080075 - public const int normal = 2131230837; + public const int none = 2131230837; // aapt resource value: 0x7F080076 - public const int notification_background = 2131230838; + public const int normal = 2131230838; // aapt resource value: 0x7F080077 - public const int notification_main_column = 2131230839; + public const int notification_background = 2131230839; // aapt resource value: 0x7F080078 - public const int notification_main_column_container = 2131230840; + public const int notification_main_column = 2131230840; // aapt resource value: 0x7F080079 - public const int outline = 2131230841; + public const int notification_main_column_container = 2131230841; // aapt resource value: 0x7F08007A - public const int parallax = 2131230842; + public const int outline = 2131230842; // aapt resource value: 0x7F08007B - public const int parentPanel = 2131230843; + public const int parallax = 2131230843; // aapt resource value: 0x7F08007C - public const int parent_matrix = 2131230844; + public const int parentPanel = 2131230844; // aapt resource value: 0x7F08007D - public const int password = 2131230845; + public const int parent_matrix = 2131230845; // aapt resource value: 0x7F08007E - public const int pin = 2131230846; + public const int password = 2131230846; // aapt resource value: 0x7F08007F - public const int professorParams = 2131230847; + public const int pin = 2131230847; // aapt resource value: 0x7F080080 - public const int progress_circular = 2131230848; + public const int professorParams = 2131230848; // aapt resource value: 0x7F080081 - public const int progress_horizontal = 2131230849; + public const int progress_circular = 2131230849; // aapt resource value: 0x7F080082 - public const int radio = 2131230850; + public const int progress_horizontal = 2131230850; // aapt resource value: 0x7F080083 - public const int reminder = 2131230851; + public const int radio = 2131230851; // aapt resource value: 0x7F080084 - public const int right = 2131230852; + public const int reminder = 2131230852; // aapt resource value: 0x7F080085 - public const int right_icon = 2131230853; + public const int right = 2131230853; // aapt resource value: 0x7F080086 - public const int right_side = 2131230854; + public const int right_icon = 2131230854; // aapt resource value: 0x7F080087 - public const int save_image_matrix = 2131230855; + public const int right_side = 2131230855; // aapt resource value: 0x7F080088 - public const int save_non_transition_alpha = 2131230856; + public const int save_image_matrix = 2131230856; // aapt resource value: 0x7F080089 - public const int save_scale_type = 2131230857; + public const int save_non_transition_alpha = 2131230857; // aapt resource value: 0x7F08008A - public const int screen = 2131230858; + public const int save_scale_type = 2131230858; // aapt resource value: 0x7F08008B - public const int scroll = 2131230859; - - // aapt resource value: 0x7F08008F - public const int scrollable = 2131230863; + public const int screen = 2131230859; // aapt resource value: 0x7F08008C - public const int scrollIndicatorDown = 2131230860; - - // aapt resource value: 0x7F08008D - public const int scrollIndicatorUp = 2131230861; - - // aapt resource value: 0x7F08008E - public const int scrollView = 2131230862; + public const int scroll = 2131230860; // aapt resource value: 0x7F080090 - public const int search_badge = 2131230864; + public const int scrollable = 2131230864; + + // aapt resource value: 0x7F08008D + public const int scrollIndicatorDown = 2131230861; + + // aapt resource value: 0x7F08008E + public const int scrollIndicatorUp = 2131230862; + + // aapt resource value: 0x7F08008F + public const int scrollView = 2131230863; // aapt resource value: 0x7F080091 - public const int search_bar = 2131230865; + public const int search_badge = 2131230865; // aapt resource value: 0x7F080092 - public const int search_button = 2131230866; + public const int search_bar = 2131230866; // aapt resource value: 0x7F080093 - public const int search_close_btn = 2131230867; + public const int search_button = 2131230867; // aapt resource value: 0x7F080094 - public const int search_edit_frame = 2131230868; + public const int search_close_btn = 2131230868; // aapt resource value: 0x7F080095 - public const int search_go_btn = 2131230869; + public const int search_edit_frame = 2131230869; // aapt resource value: 0x7F080096 - public const int search_mag_icon = 2131230870; + public const int search_go_btn = 2131230870; // aapt resource value: 0x7F080097 - public const int search_plate = 2131230871; + public const int search_mag_icon = 2131230871; // aapt resource value: 0x7F080098 - public const int search_src_text = 2131230872; + public const int search_plate = 2131230872; // aapt resource value: 0x7F080099 - public const int search_voice_btn = 2131230873; - - // aapt resource value: 0x7F08009B - public const int selected = 2131230875; + public const int search_src_text = 2131230873; // aapt resource value: 0x7F08009A - public const int select_dialog_listview = 2131230874; + public const int search_voice_btn = 2131230874; + + // aapt resource value: 0x7F08009C + public const int selected = 2131230876; + + // aapt resource value: 0x7F08009B + public const int select_dialog_listview = 2131230875; // aapt resource value: 0x7F080004 public const int SHIFT = 2131230724; - // aapt resource value: 0x7F08009C - public const int shortcut = 2131230876; - // aapt resource value: 0x7F08009D - public const int showCustom = 2131230877; + public const int shortcut = 2131230877; // aapt resource value: 0x7F08009E - public const int showHome = 2131230878; + public const int showCustom = 2131230878; // aapt resource value: 0x7F08009F - public const int showTitle = 2131230879; + public const int showHome = 2131230879; // aapt resource value: 0x7F0800A0 - public const int smallLabel = 2131230880; + public const int showTitle = 2131230880; // aapt resource value: 0x7F0800A1 - public const int snackbar_action = 2131230881; + public const int smallLabel = 2131230881; // aapt resource value: 0x7F0800A2 - public const int snackbar_text = 2131230882; + public const int snackbar_action = 2131230882; // aapt resource value: 0x7F0800A3 - public const int snap = 2131230883; + public const int snackbar_text = 2131230883; // aapt resource value: 0x7F0800A4 - public const int snapMargins = 2131230884; + public const int snap = 2131230884; // aapt resource value: 0x7F0800A5 - public const int spacer = 2131230885; + public const int snapMargins = 2131230885; // aapt resource value: 0x7F0800A6 - public const int split_action_bar = 2131230886; + public const int spacer = 2131230886; // aapt resource value: 0x7F0800A7 - public const int src_atop = 2131230887; + public const int split_action_bar = 2131230887; // aapt resource value: 0x7F0800A8 - public const int src_in = 2131230888; + public const int src_atop = 2131230888; // aapt resource value: 0x7F0800A9 - public const int src_over = 2131230889; + public const int src_in = 2131230889; // aapt resource value: 0x7F0800AA - public const int start = 2131230890; + public const int src_over = 2131230890; // aapt resource value: 0x7F0800AB - public const int status = 2131230891; + public const int start = 2131230891; // aapt resource value: 0x7F0800AC - public const int stretch = 2131230892; + public const int status = 2131230892; // aapt resource value: 0x7F0800AD - public const int studentParams = 2131230893; + public const int stretch = 2131230893; // aapt resource value: 0x7F0800AE - public const int submenuarrow = 2131230894; + public const int studentParams = 2131230894; // aapt resource value: 0x7F0800AF - public const int submit_area = 2131230895; + public const int submenuarrow = 2131230895; + + // aapt resource value: 0x7F0800B0 + public const int submit_area = 2131230896; // aapt resource value: 0x7F080005 public const int SYM = 2131230725; - // aapt resource value: 0x7F0800B0 - public const int tabMode = 2131230896; - // aapt resource value: 0x7F0800B1 - public const int tag_transition_group = 2131230897; + public const int tabMode = 2131230897; // aapt resource value: 0x7F0800B2 - public const int tag_unhandled_key_event_manager = 2131230898; + public const int tag_transition_group = 2131230898; // aapt resource value: 0x7F0800B3 - public const int tag_unhandled_key_listeners = 2131230899; + public const int tag_unhandled_key_event_manager = 2131230899; // aapt resource value: 0x7F0800B4 - public const int text = 2131230900; + public const int tag_unhandled_key_listeners = 2131230900; // aapt resource value: 0x7F0800B5 - public const int text2 = 2131230901; - - // aapt resource value: 0x7F0800BA - public const int textinput_counter = 2131230906; - - // aapt resource value: 0x7F0800BB - public const int textinput_error = 2131230907; - - // aapt resource value: 0x7F0800BC - public const int textinput_helper_text = 2131230908; + public const int text = 2131230901; // aapt resource value: 0x7F0800B6 - public const int textSpacerNoButtons = 2131230902; + public const int text2 = 2131230902; - // aapt resource value: 0x7F0800B7 - public const int textSpacerNoTitle = 2131230903; + // aapt resource value: 0x7F0800BB + public const int textinput_counter = 2131230907; - // aapt resource value: 0x7F0800B8 - public const int textStart = 2131230904; - - // aapt resource value: 0x7F0800B9 - public const int text_input_password_toggle = 2131230905; + // aapt resource value: 0x7F0800BC + public const int textinput_error = 2131230908; // aapt resource value: 0x7F0800BD - public const int time = 2131230909; + public const int textinput_helper_text = 2131230909; + + // aapt resource value: 0x7F0800B7 + public const int textSpacerNoButtons = 2131230903; + + // aapt resource value: 0x7F0800B8 + public const int textSpacerNoTitle = 2131230904; + + // aapt resource value: 0x7F0800B9 + public const int textStart = 2131230905; + + // aapt resource value: 0x7F0800BA + public const int text_input_password_toggle = 2131230906; // aapt resource value: 0x7F0800BE - public const int title = 2131230910; + public const int time = 2131230910; // aapt resource value: 0x7F0800BF - public const int titleDividerNoCustom = 2131230911; + public const int title = 2131230911; // aapt resource value: 0x7F0800C0 - public const int title_template = 2131230912; + public const int titleDividerNoCustom = 2131230912; // aapt resource value: 0x7F0800C1 - public const int top = 2131230913; + public const int title_template = 2131230913; // aapt resource value: 0x7F0800C2 - public const int topPanel = 2131230914; + public const int top = 2131230914; // aapt resource value: 0x7F0800C3 - public const int touch_outside = 2131230915; + public const int topPanel = 2131230915; // aapt resource value: 0x7F0800C4 - public const int transition_current_scene = 2131230916; + public const int touch_outside = 2131230916; // aapt resource value: 0x7F0800C5 - public const int transition_layout_save = 2131230917; + public const int transition_current_scene = 2131230917; // aapt resource value: 0x7F0800C6 - public const int transition_position = 2131230918; + public const int transition_layout_save = 2131230918; // aapt resource value: 0x7F0800C7 - public const int transition_scene_layoutid_cache = 2131230919; + public const int transition_position = 2131230919; // aapt resource value: 0x7F0800C8 - public const int transition_transform = 2131230920; + public const int transition_scene_layoutid_cache = 2131230920; // aapt resource value: 0x7F0800C9 - public const int uniform = 2131230921; + public const int transition_transform = 2131230921; // aapt resource value: 0x7F0800CA - public const int unlabeled = 2131230922; + public const int uniform = 2131230922; // aapt resource value: 0x7F0800CB - public const int up = 2131230923; + public const int unlabeled = 2131230923; // aapt resource value: 0x7F0800CC - public const int useLogo = 2131230924; + public const int up = 2131230924; // aapt resource value: 0x7F0800CD - public const int user = 2131230925; + public const int useLogo = 2131230925; // aapt resource value: 0x7F0800CE public const int view_offset_helper = 2131230926; diff --git a/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml b/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml index 0c8b701..c0c21e7 100644 --- a/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml +++ b/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml @@ -19,10 +19,11 @@ android:textStyle="bold" android:textSize="16dp"/> - + android:layout_height="wrap_content" + android:text="Авторизоваться через Личный кабинет"/> + + +