mirror of
https://github.com/XFox111/GUTSchedule.git
synced 2026-04-22 06:58:01 +03:00
Merge pull request #10 from XFox111/authorization-method
[1.0.8] Added authorization for students
This commit is contained in:
@@ -31,13 +31,21 @@ namespace GUT.Schedule
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(Data.DataSet.HttpClient != null)
|
if(Data.DataSet.IsProfessor == true)
|
||||||
{
|
|
||||||
status.Text = "Загрузка расписания с картофельных серверов Бонча";
|
status.Text = "Загрузка расписания с картофельных серверов Бонча";
|
||||||
List<ProfessorSubject> schedule = new List<ProfessorSubject>();
|
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))
|
if (Data.DataSet.HttpClient != null)
|
||||||
schedule.AddRange(await Parser.GetProfessorSchedule(Data.DataSet.HttpClient, d));
|
{
|
||||||
|
List<CabinetSubject> schedule = new List<CabinetSubject>();
|
||||||
|
|
||||||
|
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
|
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
|
else
|
||||||
{
|
{
|
||||||
status.Text = "Загрузка расписания";
|
|
||||||
List<Subject> schedule = await Parser.LoadSchedule();
|
List<Subject> schedule = await Parser.LoadSchedule();
|
||||||
|
|
||||||
schedule = schedule.FindAll(i => i.StartTime.Date >= Data.StartDate && i.StartTime.Date <= Data.EndDate); // Filtering schedule according to export range
|
schedule = schedule.FindAll(i => i.StartTime.Date >= Data.StartDate && i.StartTime.Date <= Data.EndDate); // Filtering schedule according to export range
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ namespace GUT.Schedule
|
|||||||
{
|
{
|
||||||
Button start, end, export;
|
Button start, end, export;
|
||||||
Button forDay, forWeek, forMonth, forSemester;
|
Button forDay, forWeek, forMonth, forSemester;
|
||||||
Spinner faculty, course, group, reminder, calendar, user;
|
Spinner faculty, course, group, reminder, calendar;
|
||||||
CheckBox groupTitle;
|
CheckBox groupTitle, authorize;
|
||||||
TextView error;
|
TextView error;
|
||||||
LinearLayout studentParams, profParams;
|
LinearLayout studentParams, profParams;
|
||||||
EditText email, password;
|
EditText email, password;
|
||||||
@@ -50,13 +50,6 @@ namespace GUT.Schedule
|
|||||||
AddEvents();
|
AddEvents();
|
||||||
|
|
||||||
// Settings spinners' dropdown lists content
|
// Settings spinners' dropdown lists content
|
||||||
user.SetList(this, new[]
|
|
||||||
{
|
|
||||||
"Студент",
|
|
||||||
"Преподаватель"
|
|
||||||
});
|
|
||||||
user.SetSelection(prefs.GetInt("User", 0));
|
|
||||||
|
|
||||||
reminder.SetList(this, new[]
|
reminder.SetList(this, new[]
|
||||||
{
|
{
|
||||||
"Нет",
|
"Нет",
|
||||||
@@ -74,6 +67,7 @@ namespace GUT.Schedule
|
|||||||
start.Text = Data.StartDate.ToShortDateString();
|
start.Text = Data.StartDate.ToShortDateString();
|
||||||
|
|
||||||
groupTitle.Checked = prefs.GetBoolean("AddGroupToHeader", false);
|
groupTitle.Checked = prefs.GetBoolean("AddGroupToHeader", false);
|
||||||
|
authorize.Checked = prefs.GetBoolean("Authorize", true);
|
||||||
|
|
||||||
email.Text = prefs.GetString("email", "");
|
email.Text = prefs.GetString("email", "");
|
||||||
password.Text = prefs.GetString("password", "");
|
password.Text = prefs.GetString("password", "");
|
||||||
@@ -91,7 +85,8 @@ namespace GUT.Schedule
|
|||||||
}
|
}
|
||||||
|
|
||||||
HttpClient client = null;
|
HttpClient client = null;
|
||||||
if(user.SelectedItemPosition == 1)
|
bool? isProf = null;
|
||||||
|
if(authorize.Checked)
|
||||||
{
|
{
|
||||||
Toast.MakeText(ApplicationContext, "Авторизация...", ToastLength.Short).Show();
|
Toast.MakeText(ApplicationContext, "Авторизация...", ToastLength.Short).Show();
|
||||||
if (string.IsNullOrWhiteSpace(email.Text) || string.IsNullOrWhiteSpace(password.Text))
|
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");
|
HttpResponseMessage verificationResponse = await client.GetAsync("https://cabs.itut.ru/cabinet/?login=yes");
|
||||||
export.Enabled = true;
|
export.Enabled = true;
|
||||||
IHtmlDocument doc = new HtmlParser().ParseDocument(await verificationResponse.GetString());
|
IHtmlDocument doc = new HtmlParser().ParseDocument(await verificationResponse.GetString());
|
||||||
if (!doc.QuerySelectorAll("nobr").Any(i => i.TextContent.Contains("Ведомости")))
|
if (doc.QuerySelectorAll("option").Any(i => i.TextContent.Contains("Сотрудник")))
|
||||||
{
|
isProf = true;
|
||||||
error.Text = "Ошибка авторизации: Необходимо авторизоваться с аккаунтом преподавателя";
|
else
|
||||||
error.Visibility = ViewStates.Visible;
|
isProf = false;
|
||||||
return;
|
|
||||||
}
|
|
||||||
Data.Groups = null;
|
Data.Groups = null;
|
||||||
|
|
||||||
// Если ты это читаешь и у тебя возникли вопросы по типу "А какого хуя творится в коде ниже?!", то во-первых:
|
// Если ты это читаешь и у тебя возникли вопросы по типу "А какого хуя творится в коде ниже?!", то во-первых:
|
||||||
@@ -148,8 +142,8 @@ namespace GUT.Schedule
|
|||||||
// что творится на серверах Бонча (я не шучу, там все ОЧЕНЬ плохо)
|
// что творится на серверах Бонча (я не шучу, там все ОЧЕНЬ плохо)
|
||||||
// Ну и в-третьих: Андроид - это пиздец и настоящий ад разработчика. И если бы была моя воля, я бы под него никогда не писал #FuckAndroid
|
// Ну и в-третьих: Андроид - это пиздец и настоящий ад разработчика. И если бы была моя воля, я бы под него никогда не писал #FuckAndroid
|
||||||
// З.Ы. Помнишь про второй пункт? Так вот, если ты используешь такой же пароль как в ЛК где-то еще, настоятельно рекомендую его поменять
|
// З.Ы. Помнишь про второй пункт? Так вот, если ты используешь такой же пароль как в ЛК где-то еще, настоятельно рекомендую его поменять
|
||||||
PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutBoolean("email", groupTitle.Checked).Apply();
|
PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutString("email", email.Text).Apply();
|
||||||
PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutBoolean("password", groupTitle.Checked).Apply();
|
PreferenceManager.GetDefaultSharedPreferences(this).Edit().PutString("password", password.Text).Apply();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -170,7 +164,8 @@ namespace GUT.Schedule
|
|||||||
AddGroupToTitle = groupTitle.Checked,
|
AddGroupToTitle = groupTitle.Checked,
|
||||||
Calendar = Calendar.Calendars[calendar.SelectedItemPosition].Id,
|
Calendar = Calendar.Calendars[calendar.SelectedItemPosition].Id,
|
||||||
Reminder = (reminder.SelectedItemPosition - 1) * 5,
|
Reminder = (reminder.SelectedItemPosition - 1) * 5,
|
||||||
HttpClient = client
|
HttpClient = client,
|
||||||
|
IsProfessor = isProf
|
||||||
};
|
};
|
||||||
|
|
||||||
StartActivity(new Intent(this, typeof(ExportActivity)));
|
StartActivity(new Intent(this, typeof(ExportActivity)));
|
||||||
@@ -223,10 +218,11 @@ namespace GUT.Schedule
|
|||||||
group = FindViewById<Spinner>(Resource.Id.group);
|
group = FindViewById<Spinner>(Resource.Id.group);
|
||||||
reminder = FindViewById<Spinner>(Resource.Id.reminder);
|
reminder = FindViewById<Spinner>(Resource.Id.reminder);
|
||||||
calendar = FindViewById<Spinner>(Resource.Id.calendar);
|
calendar = FindViewById<Spinner>(Resource.Id.calendar);
|
||||||
user = FindViewById<Spinner>(Resource.Id.user);
|
|
||||||
|
|
||||||
error = FindViewById<TextView>(Resource.Id.error);
|
error = FindViewById<TextView>(Resource.Id.error);
|
||||||
|
|
||||||
groupTitle = FindViewById<CheckBox>(Resource.Id.groupTitle);
|
groupTitle = FindViewById<CheckBox>(Resource.Id.groupTitle);
|
||||||
|
authorize = FindViewById<CheckBox>(Resource.Id.authorization);
|
||||||
|
|
||||||
studentParams = FindViewById<LinearLayout>(Resource.Id.studentParams);
|
studentParams = FindViewById<LinearLayout>(Resource.Id.studentParams);
|
||||||
profParams = FindViewById<LinearLayout>(Resource.Id.professorParams);
|
profParams = FindViewById<LinearLayout>(Resource.Id.professorParams);
|
||||||
@@ -247,21 +243,18 @@ namespace GUT.Schedule
|
|||||||
prefs.Edit().PutInt("Course", e.Position).Apply();
|
prefs.Edit().PutInt("Course", e.Position).Apply();
|
||||||
UpdateGroupsList();
|
UpdateGroupsList();
|
||||||
};
|
};
|
||||||
user.ItemSelected += (s, e) =>
|
authorize.CheckedChange += (s, e) =>
|
||||||
{
|
{
|
||||||
prefs.Edit().PutInt("User", e.Position).Apply();
|
prefs.Edit().PutBoolean("Authorize", e.IsChecked).Apply();
|
||||||
switch (e.Position)
|
if (e.IsChecked)
|
||||||
{
|
{
|
||||||
case 0:
|
studentParams.Visibility = ViewStates.Gone;
|
||||||
studentParams.Visibility = ViewStates.Visible;
|
profParams.Visibility = ViewStates.Visible;
|
||||||
groupTitle.Visibility = ViewStates.Visible;
|
}
|
||||||
profParams.Visibility = ViewStates.Gone;
|
else
|
||||||
break;
|
{
|
||||||
case 1:
|
studentParams.Visibility = ViewStates.Visible;
|
||||||
studentParams.Visibility = ViewStates.Gone;
|
profParams.Visibility = ViewStates.Gone;
|
||||||
groupTitle.Visibility = ViewStates.Gone;
|
|
||||||
profParams.Visibility = ViewStates.Visible;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
calendar.ItemSelected += (s, e) =>
|
calendar.ItemSelected += (s, e) =>
|
||||||
|
|||||||
@@ -85,22 +85,23 @@ namespace GUT.Schedule
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Export(IEnumerable<ProfessorSubject> schedule)
|
public static void Export(IEnumerable<CabinetSubject> schedule)
|
||||||
{
|
{
|
||||||
DataSet data = Data.DataSet;
|
DataSet data = Data.DataSet;
|
||||||
|
|
||||||
foreach (ProfessorSubject item in schedule)
|
foreach (CabinetSubject item in schedule)
|
||||||
{
|
{
|
||||||
ContentValues eventValues = new ContentValues();
|
ContentValues eventValues = new ContentValues();
|
||||||
|
|
||||||
eventValues.Put(CalendarContract.Events.InterfaceConsts.CalendarId, data.Calendar);
|
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.Order,
|
||||||
item.Name,
|
item.Name,
|
||||||
item.Type));
|
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.EventLocation, item.Cabinet);
|
||||||
|
|
||||||
eventValues.Put(CalendarContract.Events.InterfaceConsts.Availability, 0);
|
eventValues.Put(CalendarContract.Events.InterfaceConsts.Availability, 0);
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
<Compile Include="Extensions.cs" />
|
<Compile Include="Extensions.cs" />
|
||||||
<Compile Include="Activities\MainActivity.cs" />
|
<Compile Include="Activities\MainActivity.cs" />
|
||||||
<Compile Include="Models\DataSet.cs" />
|
<Compile Include="Models\DataSet.cs" />
|
||||||
<Compile Include="Models\ProfessorSubject.cs" />
|
<Compile Include="Models\CabinetSubject.cs" />
|
||||||
<Compile Include="Parser.cs" />
|
<Compile Include="Parser.cs" />
|
||||||
<Compile Include="Resources\Resource.designer.cs" />
|
<Compile Include="Resources\Resource.designer.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
|||||||
+6
-4
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace GUT.Schedule.Models
|
namespace GUT.Schedule.Models
|
||||||
{
|
{
|
||||||
public class ProfessorSubject
|
public class CabinetSubject
|
||||||
{
|
{
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Type { get; set; }
|
public string Type { get; set; }
|
||||||
@@ -10,14 +10,16 @@ namespace GUT.Schedule.Models
|
|||||||
public string Order { get; set; }
|
public string Order { get; set; }
|
||||||
public DateTime StartTime { get; set; }
|
public DateTime StartTime { get; set; }
|
||||||
public DateTime EndTime { 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;
|
Name = name;
|
||||||
Type = type;
|
Type = type;
|
||||||
Cabinet = cabinet;
|
Cabinet = cabinet;
|
||||||
Groups = groups;
|
Opponent = opponent;
|
||||||
|
ProfessorSchedule = profSchedule;
|
||||||
|
|
||||||
string[] time = schedule.Split('-');
|
string[] time = schedule.Split('-');
|
||||||
|
|
||||||
@@ -11,5 +11,6 @@ namespace GUT.Schedule.Models
|
|||||||
public int Reminder { get; set; }
|
public int Reminder { get; set; }
|
||||||
public bool AddGroupToTitle { get; set; }
|
public bool AddGroupToTitle { get; set; }
|
||||||
public HttpClient HttpClient { get; set; }
|
public HttpClient HttpClient { get; set; }
|
||||||
|
public bool? IsProfessor { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ using AngleSharp.Html.Parser;
|
|||||||
using GUT.Schedule.Models;
|
using GUT.Schedule.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
@@ -122,9 +123,9 @@ namespace GUT.Schedule
|
|||||||
return $"205.{now.Year - 2001}{now.Year - 2000}/2";
|
return $"205.{now.Year - 2001}{now.Year - 2000}/2";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<List<ProfessorSubject>> GetProfessorSchedule(HttpClient client, DateTime date)
|
public static async Task<List<CabinetSubject>> 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(
|
request.SetContent(
|
||||||
("month", date.Month.ToString()),
|
("month", date.Month.ToString()),
|
||||||
("year", date.Year.ToString()),
|
("year", date.Year.ToString()),
|
||||||
@@ -137,23 +138,40 @@ namespace GUT.Schedule
|
|||||||
throw new HttpRequestException(responseContent);
|
throw new HttpRequestException(responseContent);
|
||||||
|
|
||||||
IHtmlDocument doc = new HtmlParser().ParseDocument(responseContent);
|
IHtmlDocument doc = new HtmlParser().ParseDocument(responseContent);
|
||||||
List<ProfessorSubject> schedule = new List<ProfessorSubject>();
|
List<CabinetSubject> schedule = new List<CabinetSubject>();
|
||||||
foreach(var i in doc.QuerySelectorAll("td").Where(i => i.GetAttribute("style") == "text-align: center; vertical-align: top"))
|
|
||||||
|
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++)
|
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,
|
name: i.QuerySelectorAll("b")[k * 2 + 1].TextContent,
|
||||||
type: i.QuerySelectorAll("i")[k].TextContent,
|
type: i.QuerySelectorAll("i")[k].TextContent,
|
||||||
cabinet: i.ChildNodes[k * 13 + 12].TextContent,
|
cabinet: i.QuerySelectorAll("small")[k].NextSibling.TextContent.Replace("; Б22", ""),
|
||||||
groups: i.ChildNodes[k * 13 + 7].TextContent,
|
opponent: i.QuerySelectorAll("i")[k].NextSibling.NextSibling.NodeType == NodeType.Text ?
|
||||||
|
i.QuerySelectorAll("i")[k].NextSibling.NextSibling.TextContent : "",
|
||||||
year: date.Year,
|
year: date.Year,
|
||||||
month: date.Month,
|
month: date.Month,
|
||||||
day: int.Parse(i.QuerySelectorAll("b")[0].TextContent),
|
day: int.Parse(i.ChildNodes[0].TextContent),
|
||||||
schedule: i.QuerySelectorAll("b")[k * 2 + 2].TextContent
|
schedule: i.QuerySelectorAll("b")[k * 2 + 2].TextContent,
|
||||||
);
|
checkProfSchedule);
|
||||||
schedule.Add(item);
|
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;
|
return schedule;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="107" android:versionName="1.0.7" package="com.xfox111.gut.schedule" android:installLocation="auto">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="108" android:versionName="1.0.8" package="com.xfox111.gut.schedule" android:installLocation="auto">
|
||||||
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28" />
|
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28" />
|
||||||
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="ГУТ.Расписание" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme.NoActionBar"></application>
|
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="ГУТ.Расписание" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme.NoActionBar"></application>
|
||||||
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
||||||
|
|||||||
+215
-215
@@ -3299,544 +3299,544 @@ namespace GUT.Schedule
|
|||||||
public const int async = 2131230750;
|
public const int async = 2131230750;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08001F
|
// aapt resource value: 0x7F08001F
|
||||||
public const int auto = 2131230751;
|
public const int authorization = 2131230751;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080020
|
// aapt resource value: 0x7F080020
|
||||||
public const int beginning = 2131230752;
|
public const int auto = 2131230752;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080021
|
// aapt resource value: 0x7F080021
|
||||||
public const int blocking = 2131230753;
|
public const int beginning = 2131230753;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080022
|
// aapt resource value: 0x7F080022
|
||||||
public const int bottom = 2131230754;
|
public const int blocking = 2131230754;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080023
|
// aapt resource value: 0x7F080023
|
||||||
public const int browser_actions_header_text = 2131230755;
|
public const int bottom = 2131230755;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080026
|
|
||||||
public const int browser_actions_menu_items = 2131230758;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080024
|
// aapt resource value: 0x7F080024
|
||||||
public const int browser_actions_menu_item_icon = 2131230756;
|
public const int browser_actions_header_text = 2131230756;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080025
|
|
||||||
public const int browser_actions_menu_item_text = 2131230757;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080027
|
// 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
|
// aapt resource value: 0x7F080028
|
||||||
public const int buttonPanel = 2131230760;
|
public const int browser_actions_menu_view = 2131230760;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080029
|
// aapt resource value: 0x7F080029
|
||||||
public const int calendar = 2131230761;
|
public const int buttonPanel = 2131230761;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002A
|
// aapt resource value: 0x7F08002A
|
||||||
public const int center = 2131230762;
|
public const int calendar = 2131230762;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002B
|
// aapt resource value: 0x7F08002B
|
||||||
public const int center_horizontal = 2131230763;
|
public const int center = 2131230763;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002C
|
// aapt resource value: 0x7F08002C
|
||||||
public const int center_vertical = 2131230764;
|
public const int center_horizontal = 2131230764;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002D
|
// aapt resource value: 0x7F08002D
|
||||||
public const int checkbox = 2131230765;
|
public const int center_vertical = 2131230765;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002E
|
// aapt resource value: 0x7F08002E
|
||||||
public const int chronometer = 2131230766;
|
public const int checkbox = 2131230766;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08002F
|
// aapt resource value: 0x7F08002F
|
||||||
public const int clear = 2131230767;
|
public const int chronometer = 2131230767;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080030
|
// aapt resource value: 0x7F080030
|
||||||
public const int clip_horizontal = 2131230768;
|
public const int clear = 2131230768;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080031
|
// aapt resource value: 0x7F080031
|
||||||
public const int clip_vertical = 2131230769;
|
public const int clip_horizontal = 2131230769;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080032
|
// aapt resource value: 0x7F080032
|
||||||
public const int collapseActionView = 2131230770;
|
public const int clip_vertical = 2131230770;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080033
|
// aapt resource value: 0x7F080033
|
||||||
public const int container = 2131230771;
|
public const int collapseActionView = 2131230771;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080034
|
// aapt resource value: 0x7F080034
|
||||||
public const int content = 2131230772;
|
public const int container = 2131230772;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080035
|
// aapt resource value: 0x7F080035
|
||||||
public const int contentPanel = 2131230773;
|
public const int content = 2131230773;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080036
|
// aapt resource value: 0x7F080036
|
||||||
public const int coordinator = 2131230774;
|
public const int contentPanel = 2131230774;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080037
|
// 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
|
// aapt resource value: 0x7F080001
|
||||||
public const int CTRL = 2131230721;
|
public const int CTRL = 2131230721;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080038
|
|
||||||
public const int custom = 2131230776;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080039
|
// aapt resource value: 0x7F080039
|
||||||
public const int customPanel = 2131230777;
|
public const int custom = 2131230777;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08003A
|
// aapt resource value: 0x7F08003A
|
||||||
public const int decor_content_parent = 2131230778;
|
public const int customPanel = 2131230778;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08003B
|
// aapt resource value: 0x7F08003B
|
||||||
public const int default_activity_button = 2131230779;
|
public const int decor_content_parent = 2131230779;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08003C
|
// aapt resource value: 0x7F08003C
|
||||||
public const int design_bottom_sheet = 2131230780;
|
public const int default_activity_button = 2131230780;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08003D
|
// aapt resource value: 0x7F08003D
|
||||||
public const int design_menu_item_action_area = 2131230781;
|
public const int design_bottom_sheet = 2131230781;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08003E
|
// 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
|
// 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
|
// aapt resource value: 0x7F080040
|
||||||
public const int design_navigation_view = 2131230784;
|
public const int design_menu_item_text = 2131230784;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080041
|
// aapt resource value: 0x7F080041
|
||||||
public const int disableHome = 2131230785;
|
public const int design_navigation_view = 2131230785;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080042
|
// aapt resource value: 0x7F080042
|
||||||
public const int edit_query = 2131230786;
|
public const int disableHome = 2131230786;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080043
|
// aapt resource value: 0x7F080043
|
||||||
public const int email = 2131230787;
|
public const int edit_query = 2131230787;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080044
|
// aapt resource value: 0x7F080044
|
||||||
public const int end = 2131230788;
|
public const int email = 2131230788;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080045
|
// aapt resource value: 0x7F080045
|
||||||
public const int enterAlways = 2131230789;
|
public const int end = 2131230789;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080046
|
// aapt resource value: 0x7F080046
|
||||||
public const int enterAlwaysCollapsed = 2131230790;
|
public const int enterAlways = 2131230790;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080047
|
// aapt resource value: 0x7F080047
|
||||||
public const int error = 2131230791;
|
public const int enterAlwaysCollapsed = 2131230791;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080048
|
// aapt resource value: 0x7F080048
|
||||||
public const int exitUntilCollapsed = 2131230792;
|
public const int error = 2131230792;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08004A
|
|
||||||
public const int expanded_menu = 2131230794;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080049
|
// aapt resource value: 0x7F080049
|
||||||
public const int expand_activities_button = 2131230793;
|
public const int exitUntilCollapsed = 2131230793;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08004B
|
// 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
|
// aapt resource value: 0x7F08004C
|
||||||
public const int faculty = 2131230796;
|
public const int export = 2131230796;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08004D
|
// aapt resource value: 0x7F08004D
|
||||||
public const int fill = 2131230797;
|
public const int faculty = 2131230797;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080050
|
|
||||||
public const int filled = 2131230800;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08004E
|
// aapt resource value: 0x7F08004E
|
||||||
public const int fill_horizontal = 2131230798;
|
public const int fill = 2131230798;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08004F
|
|
||||||
public const int fill_vertical = 2131230799;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080051
|
// 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
|
// aapt resource value: 0x7F080052
|
||||||
public const int forDay = 2131230802;
|
public const int @fixed = 2131230802;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080056
|
|
||||||
public const int forever = 2131230806;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080053
|
// 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
|
// aapt resource value: 0x7F080054
|
||||||
public const int forSemester = 2131230804;
|
public const int forMonth = 2131230804;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080055
|
// 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
|
// aapt resource value: 0x7F080002
|
||||||
public const int FUNCTION = 2131230722;
|
public const int FUNCTION = 2131230722;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080057
|
|
||||||
public const int ghost_view = 2131230807;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080058
|
// aapt resource value: 0x7F080058
|
||||||
public const int group = 2131230808;
|
public const int ghost_view = 2131230808;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080059
|
// aapt resource value: 0x7F080059
|
||||||
public const int groupTitle = 2131230809;
|
public const int group = 2131230809;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005A
|
// aapt resource value: 0x7F08005A
|
||||||
public const int group_divider = 2131230810;
|
public const int groupTitle = 2131230810;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005B
|
// aapt resource value: 0x7F08005B
|
||||||
public const int home = 2131230811;
|
public const int group_divider = 2131230811;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005C
|
// aapt resource value: 0x7F08005C
|
||||||
public const int homeAsUp = 2131230812;
|
public const int home = 2131230812;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005D
|
// aapt resource value: 0x7F08005D
|
||||||
public const int icon = 2131230813;
|
public const int homeAsUp = 2131230813;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005E
|
// aapt resource value: 0x7F08005E
|
||||||
public const int icon_group = 2131230814;
|
public const int icon = 2131230814;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08005F
|
// aapt resource value: 0x7F08005F
|
||||||
public const int ifRoom = 2131230815;
|
public const int icon_group = 2131230815;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080060
|
// aapt resource value: 0x7F080060
|
||||||
public const int image = 2131230816;
|
public const int ifRoom = 2131230816;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080061
|
// aapt resource value: 0x7F080061
|
||||||
public const int info = 2131230817;
|
public const int image = 2131230817;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080062
|
// aapt resource value: 0x7F080062
|
||||||
public const int italic = 2131230818;
|
public const int info = 2131230818;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080063
|
// aapt resource value: 0x7F080063
|
||||||
public const int item_touch_helper_previous_elevation = 2131230819;
|
public const int italic = 2131230819;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080064
|
// aapt resource value: 0x7F080064
|
||||||
public const int labeled = 2131230820;
|
public const int item_touch_helper_previous_elevation = 2131230820;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080065
|
// aapt resource value: 0x7F080065
|
||||||
public const int largeLabel = 2131230821;
|
public const int labeled = 2131230821;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080066
|
// aapt resource value: 0x7F080066
|
||||||
public const int left = 2131230822;
|
public const int largeLabel = 2131230822;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080067
|
// aapt resource value: 0x7F080067
|
||||||
public const int line1 = 2131230823;
|
public const int left = 2131230823;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080068
|
// aapt resource value: 0x7F080068
|
||||||
public const int line3 = 2131230824;
|
public const int line1 = 2131230824;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080069
|
// aapt resource value: 0x7F080069
|
||||||
public const int listMode = 2131230825;
|
public const int line3 = 2131230825;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006A
|
// aapt resource value: 0x7F08006A
|
||||||
public const int list_item = 2131230826;
|
public const int listMode = 2131230826;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006B
|
// aapt resource value: 0x7F08006B
|
||||||
public const int masked = 2131230827;
|
public const int list_item = 2131230827;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006C
|
// 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
|
// aapt resource value: 0x7F080003
|
||||||
public const int META = 2131230723;
|
public const int META = 2131230723;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006D
|
|
||||||
public const int middle = 2131230829;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006E
|
// aapt resource value: 0x7F08006E
|
||||||
public const int mini = 2131230830;
|
public const int middle = 2131230830;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08006F
|
// aapt resource value: 0x7F08006F
|
||||||
public const int mtrl_child_content_container = 2131230831;
|
public const int mini = 2131230831;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080070
|
// 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
|
// aapt resource value: 0x7F080071
|
||||||
public const int multiply = 2131230833;
|
public const int mtrl_internal_children_alpha_tag = 2131230833;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080072
|
// aapt resource value: 0x7F080072
|
||||||
public const int navigation_header_container = 2131230834;
|
public const int multiply = 2131230834;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080073
|
// aapt resource value: 0x7F080073
|
||||||
public const int never = 2131230835;
|
public const int navigation_header_container = 2131230835;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080074
|
// aapt resource value: 0x7F080074
|
||||||
public const int none = 2131230836;
|
public const int never = 2131230836;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080075
|
// aapt resource value: 0x7F080075
|
||||||
public const int normal = 2131230837;
|
public const int none = 2131230837;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080076
|
// aapt resource value: 0x7F080076
|
||||||
public const int notification_background = 2131230838;
|
public const int normal = 2131230838;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080077
|
// aapt resource value: 0x7F080077
|
||||||
public const int notification_main_column = 2131230839;
|
public const int notification_background = 2131230839;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080078
|
// aapt resource value: 0x7F080078
|
||||||
public const int notification_main_column_container = 2131230840;
|
public const int notification_main_column = 2131230840;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080079
|
// aapt resource value: 0x7F080079
|
||||||
public const int outline = 2131230841;
|
public const int notification_main_column_container = 2131230841;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007A
|
// aapt resource value: 0x7F08007A
|
||||||
public const int parallax = 2131230842;
|
public const int outline = 2131230842;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007B
|
// aapt resource value: 0x7F08007B
|
||||||
public const int parentPanel = 2131230843;
|
public const int parallax = 2131230843;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007C
|
// aapt resource value: 0x7F08007C
|
||||||
public const int parent_matrix = 2131230844;
|
public const int parentPanel = 2131230844;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007D
|
// aapt resource value: 0x7F08007D
|
||||||
public const int password = 2131230845;
|
public const int parent_matrix = 2131230845;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007E
|
// aapt resource value: 0x7F08007E
|
||||||
public const int pin = 2131230846;
|
public const int password = 2131230846;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08007F
|
// aapt resource value: 0x7F08007F
|
||||||
public const int professorParams = 2131230847;
|
public const int pin = 2131230847;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080080
|
// aapt resource value: 0x7F080080
|
||||||
public const int progress_circular = 2131230848;
|
public const int professorParams = 2131230848;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080081
|
// aapt resource value: 0x7F080081
|
||||||
public const int progress_horizontal = 2131230849;
|
public const int progress_circular = 2131230849;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080082
|
// aapt resource value: 0x7F080082
|
||||||
public const int radio = 2131230850;
|
public const int progress_horizontal = 2131230850;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080083
|
// aapt resource value: 0x7F080083
|
||||||
public const int reminder = 2131230851;
|
public const int radio = 2131230851;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080084
|
// aapt resource value: 0x7F080084
|
||||||
public const int right = 2131230852;
|
public const int reminder = 2131230852;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080085
|
// aapt resource value: 0x7F080085
|
||||||
public const int right_icon = 2131230853;
|
public const int right = 2131230853;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080086
|
// aapt resource value: 0x7F080086
|
||||||
public const int right_side = 2131230854;
|
public const int right_icon = 2131230854;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080087
|
// aapt resource value: 0x7F080087
|
||||||
public const int save_image_matrix = 2131230855;
|
public const int right_side = 2131230855;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080088
|
// aapt resource value: 0x7F080088
|
||||||
public const int save_non_transition_alpha = 2131230856;
|
public const int save_image_matrix = 2131230856;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080089
|
// aapt resource value: 0x7F080089
|
||||||
public const int save_scale_type = 2131230857;
|
public const int save_non_transition_alpha = 2131230857;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008A
|
// aapt resource value: 0x7F08008A
|
||||||
public const int screen = 2131230858;
|
public const int save_scale_type = 2131230858;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008B
|
// aapt resource value: 0x7F08008B
|
||||||
public const int scroll = 2131230859;
|
public const int screen = 2131230859;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008F
|
|
||||||
public const int scrollable = 2131230863;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008C
|
// aapt resource value: 0x7F08008C
|
||||||
public const int scrollIndicatorDown = 2131230860;
|
public const int scroll = 2131230860;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008D
|
|
||||||
public const int scrollIndicatorUp = 2131230861;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08008E
|
|
||||||
public const int scrollView = 2131230862;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F080090
|
// 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
|
// aapt resource value: 0x7F080091
|
||||||
public const int search_bar = 2131230865;
|
public const int search_badge = 2131230865;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080092
|
// aapt resource value: 0x7F080092
|
||||||
public const int search_button = 2131230866;
|
public const int search_bar = 2131230866;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080093
|
// aapt resource value: 0x7F080093
|
||||||
public const int search_close_btn = 2131230867;
|
public const int search_button = 2131230867;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080094
|
// aapt resource value: 0x7F080094
|
||||||
public const int search_edit_frame = 2131230868;
|
public const int search_close_btn = 2131230868;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080095
|
// aapt resource value: 0x7F080095
|
||||||
public const int search_go_btn = 2131230869;
|
public const int search_edit_frame = 2131230869;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080096
|
// aapt resource value: 0x7F080096
|
||||||
public const int search_mag_icon = 2131230870;
|
public const int search_go_btn = 2131230870;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080097
|
// aapt resource value: 0x7F080097
|
||||||
public const int search_plate = 2131230871;
|
public const int search_mag_icon = 2131230871;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080098
|
// aapt resource value: 0x7F080098
|
||||||
public const int search_src_text = 2131230872;
|
public const int search_plate = 2131230872;
|
||||||
|
|
||||||
// aapt resource value: 0x7F080099
|
// aapt resource value: 0x7F080099
|
||||||
public const int search_voice_btn = 2131230873;
|
public const int search_src_text = 2131230873;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009B
|
|
||||||
public const int selected = 2131230875;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009A
|
// 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
|
// aapt resource value: 0x7F080004
|
||||||
public const int SHIFT = 2131230724;
|
public const int SHIFT = 2131230724;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009C
|
|
||||||
public const int shortcut = 2131230876;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009D
|
// aapt resource value: 0x7F08009D
|
||||||
public const int showCustom = 2131230877;
|
public const int shortcut = 2131230877;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009E
|
// aapt resource value: 0x7F08009E
|
||||||
public const int showHome = 2131230878;
|
public const int showCustom = 2131230878;
|
||||||
|
|
||||||
// aapt resource value: 0x7F08009F
|
// aapt resource value: 0x7F08009F
|
||||||
public const int showTitle = 2131230879;
|
public const int showHome = 2131230879;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A0
|
// aapt resource value: 0x7F0800A0
|
||||||
public const int smallLabel = 2131230880;
|
public const int showTitle = 2131230880;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A1
|
// aapt resource value: 0x7F0800A1
|
||||||
public const int snackbar_action = 2131230881;
|
public const int smallLabel = 2131230881;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A2
|
// aapt resource value: 0x7F0800A2
|
||||||
public const int snackbar_text = 2131230882;
|
public const int snackbar_action = 2131230882;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A3
|
// aapt resource value: 0x7F0800A3
|
||||||
public const int snap = 2131230883;
|
public const int snackbar_text = 2131230883;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A4
|
// aapt resource value: 0x7F0800A4
|
||||||
public const int snapMargins = 2131230884;
|
public const int snap = 2131230884;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A5
|
// aapt resource value: 0x7F0800A5
|
||||||
public const int spacer = 2131230885;
|
public const int snapMargins = 2131230885;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A6
|
// aapt resource value: 0x7F0800A6
|
||||||
public const int split_action_bar = 2131230886;
|
public const int spacer = 2131230886;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A7
|
// aapt resource value: 0x7F0800A7
|
||||||
public const int src_atop = 2131230887;
|
public const int split_action_bar = 2131230887;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A8
|
// aapt resource value: 0x7F0800A8
|
||||||
public const int src_in = 2131230888;
|
public const int src_atop = 2131230888;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800A9
|
// aapt resource value: 0x7F0800A9
|
||||||
public const int src_over = 2131230889;
|
public const int src_in = 2131230889;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AA
|
// aapt resource value: 0x7F0800AA
|
||||||
public const int start = 2131230890;
|
public const int src_over = 2131230890;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AB
|
// aapt resource value: 0x7F0800AB
|
||||||
public const int status = 2131230891;
|
public const int start = 2131230891;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AC
|
// aapt resource value: 0x7F0800AC
|
||||||
public const int stretch = 2131230892;
|
public const int status = 2131230892;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AD
|
// aapt resource value: 0x7F0800AD
|
||||||
public const int studentParams = 2131230893;
|
public const int stretch = 2131230893;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AE
|
// aapt resource value: 0x7F0800AE
|
||||||
public const int submenuarrow = 2131230894;
|
public const int studentParams = 2131230894;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800AF
|
// 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
|
// aapt resource value: 0x7F080005
|
||||||
public const int SYM = 2131230725;
|
public const int SYM = 2131230725;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B0
|
|
||||||
public const int tabMode = 2131230896;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B1
|
// aapt resource value: 0x7F0800B1
|
||||||
public const int tag_transition_group = 2131230897;
|
public const int tabMode = 2131230897;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B2
|
// aapt resource value: 0x7F0800B2
|
||||||
public const int tag_unhandled_key_event_manager = 2131230898;
|
public const int tag_transition_group = 2131230898;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B3
|
// 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
|
// aapt resource value: 0x7F0800B4
|
||||||
public const int text = 2131230900;
|
public const int tag_unhandled_key_listeners = 2131230900;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B5
|
// aapt resource value: 0x7F0800B5
|
||||||
public const int text2 = 2131230901;
|
public const int text = 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;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B6
|
// aapt resource value: 0x7F0800B6
|
||||||
public const int textSpacerNoButtons = 2131230902;
|
public const int text2 = 2131230902;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B7
|
// aapt resource value: 0x7F0800BB
|
||||||
public const int textSpacerNoTitle = 2131230903;
|
public const int textinput_counter = 2131230907;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B8
|
// aapt resource value: 0x7F0800BC
|
||||||
public const int textStart = 2131230904;
|
public const int textinput_error = 2131230908;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800B9
|
|
||||||
public const int text_input_password_toggle = 2131230905;
|
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800BD
|
// 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
|
// aapt resource value: 0x7F0800BE
|
||||||
public const int title = 2131230910;
|
public const int time = 2131230910;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800BF
|
// aapt resource value: 0x7F0800BF
|
||||||
public const int titleDividerNoCustom = 2131230911;
|
public const int title = 2131230911;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C0
|
// aapt resource value: 0x7F0800C0
|
||||||
public const int title_template = 2131230912;
|
public const int titleDividerNoCustom = 2131230912;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C1
|
// aapt resource value: 0x7F0800C1
|
||||||
public const int top = 2131230913;
|
public const int title_template = 2131230913;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C2
|
// aapt resource value: 0x7F0800C2
|
||||||
public const int topPanel = 2131230914;
|
public const int top = 2131230914;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C3
|
// aapt resource value: 0x7F0800C3
|
||||||
public const int touch_outside = 2131230915;
|
public const int topPanel = 2131230915;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C4
|
// aapt resource value: 0x7F0800C4
|
||||||
public const int transition_current_scene = 2131230916;
|
public const int touch_outside = 2131230916;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C5
|
// aapt resource value: 0x7F0800C5
|
||||||
public const int transition_layout_save = 2131230917;
|
public const int transition_current_scene = 2131230917;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C6
|
// aapt resource value: 0x7F0800C6
|
||||||
public const int transition_position = 2131230918;
|
public const int transition_layout_save = 2131230918;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C7
|
// aapt resource value: 0x7F0800C7
|
||||||
public const int transition_scene_layoutid_cache = 2131230919;
|
public const int transition_position = 2131230919;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C8
|
// aapt resource value: 0x7F0800C8
|
||||||
public const int transition_transform = 2131230920;
|
public const int transition_scene_layoutid_cache = 2131230920;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800C9
|
// aapt resource value: 0x7F0800C9
|
||||||
public const int uniform = 2131230921;
|
public const int transition_transform = 2131230921;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800CA
|
// aapt resource value: 0x7F0800CA
|
||||||
public const int unlabeled = 2131230922;
|
public const int uniform = 2131230922;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800CB
|
// aapt resource value: 0x7F0800CB
|
||||||
public const int up = 2131230923;
|
public const int unlabeled = 2131230923;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800CC
|
// aapt resource value: 0x7F0800CC
|
||||||
public const int useLogo = 2131230924;
|
public const int up = 2131230924;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800CD
|
// aapt resource value: 0x7F0800CD
|
||||||
public const int user = 2131230925;
|
public const int useLogo = 2131230925;
|
||||||
|
|
||||||
// aapt resource value: 0x7F0800CE
|
// aapt resource value: 0x7F0800CE
|
||||||
public const int view_offset_helper = 2131230926;
|
public const int view_offset_helper = 2131230926;
|
||||||
|
|||||||
@@ -19,10 +19,11 @@
|
|||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textSize="16dp"/>
|
android:textSize="16dp"/>
|
||||||
|
|
||||||
<Spinner
|
<CheckBox
|
||||||
android:id="@+id/user"
|
android:id="@+id/authorization"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Авторизоваться через Личный кабинет"/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/studentParams"
|
android:id="@+id/studentParams"
|
||||||
@@ -189,6 +190,12 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Добавить номер группы в заголовок"/>
|
android:text="Добавить номер группы в заголовок"/>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="(i) Не касается расписания преподавателя"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|||||||
+8
-5
@@ -1,5 +1,8 @@
|
|||||||
# Changelog file
|
Version 1.0.8
|
||||||
## Changelog filling guidelines
|
- Student now can authorize with SPbSUT Cabinet credential
|
||||||
- Update before every merge to master.
|
- Introduced both work and study schedule export for PhD students
|
||||||
- Fill in English
|
- Duplicating schedule entries (when group splits in two) are now mergeg into one
|
||||||
- Should be compatible with Google Play changelog format (no Markdown)
|
- Fixed cases when app crashes on the second launch after entered credentials
|
||||||
|
- Fixed export errors
|
||||||
|
- Professors' schedule is now marked with 📚
|
||||||
|
- You can now add your group number to event title when using cabinet authorization
|
||||||
Reference in New Issue
Block a user