mirror of
https://github.com/XFox111/GUTSchedule.git
synced 2026-04-22 06:58:01 +03:00
[1.0.8] Added authorization for students
Duplicate schedule entries are merged Scheule double check for PhD students
This commit is contained in:
@@ -31,13 +31,21 @@ namespace GUT.Schedule
|
||||
{
|
||||
try
|
||||
{
|
||||
if(Data.DataSet.HttpClient != null)
|
||||
{
|
||||
if(Data.DataSet.IsProfessor == true)
|
||||
status.Text = "Загрузка расписания с картофельных серверов Бонча";
|
||||
List<ProfessorSubject> schedule = new List<ProfessorSubject>();
|
||||
else
|
||||
status.Text = "Загрузка расписания";
|
||||
|
||||
if (Data.DataSet.HttpClient != null)
|
||||
{
|
||||
List<CabinetSubject> schedule = new List<CabinetSubject>();
|
||||
|
||||
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));
|
||||
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; int.Parse($"{d.Year}{d.Month:00}") <= int.Parse($"{Data.EndDate.Year}{Data.EndDate.Month:00}"); 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<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
|
||||
|
||||
@@ -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("nobr").Any(i => i.TextContent.Contains("Ведомости")))
|
||||
isProf = true;
|
||||
else
|
||||
isProf = false;
|
||||
|
||||
Data.Groups = null;
|
||||
|
||||
// Если ты это читаешь и у тебя возникли вопросы по типу "А какого хуя творится в коде ниже?!", то во-первых:
|
||||
@@ -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<Spinner>(Resource.Id.group);
|
||||
reminder = FindViewById<Spinner>(Resource.Id.reminder);
|
||||
calendar = FindViewById<Spinner>(Resource.Id.calendar);
|
||||
user = FindViewById<Spinner>(Resource.Id.user);
|
||||
|
||||
error = FindViewById<TextView>(Resource.Id.error);
|
||||
|
||||
groupTitle = FindViewById<CheckBox>(Resource.Id.groupTitle);
|
||||
authorize = FindViewById<CheckBox>(Resource.Id.authorization);
|
||||
|
||||
studentParams = FindViewById<LinearLayout>(Resource.Id.studentParams);
|
||||
profParams = FindViewById<LinearLayout>(Resource.Id.professorParams);
|
||||
@@ -247,21 +243,20 @@ 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;
|
||||
groupTitle.Visibility = ViewStates.Gone;
|
||||
profParams.Visibility = ViewStates.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
studentParams.Visibility = ViewStates.Visible;
|
||||
groupTitle.Visibility = ViewStates.Visible;
|
||||
profParams.Visibility = ViewStates.Gone;
|
||||
}
|
||||
};
|
||||
calendar.ItemSelected += (s, e) =>
|
||||
|
||||
@@ -85,11 +85,11 @@ namespace GUT.Schedule
|
||||
}
|
||||
}
|
||||
|
||||
public static void Export(IEnumerable<ProfessorSubject> schedule)
|
||||
public static void Export(IEnumerable<CabinetSubject> schedule)
|
||||
{
|
||||
DataSet data = Data.DataSet;
|
||||
|
||||
foreach (ProfessorSubject item in schedule)
|
||||
foreach (CabinetSubject item in schedule)
|
||||
{
|
||||
ContentValues eventValues = new ContentValues();
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace GUT.Schedule
|
||||
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);
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
<Compile Include="Extensions.cs" />
|
||||
<Compile Include="Activities\MainActivity.cs" />
|
||||
<Compile Include="Models\DataSet.cs" />
|
||||
<Compile Include="Models\ProfessorSubject.cs" />
|
||||
<Compile Include="Models\CabinetSubject.cs" />
|
||||
<Compile Include="Parser.cs" />
|
||||
<Compile Include="Resources\Resource.designer.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
|
||||
+4
-4
@@ -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,14 @@ 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 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)
|
||||
{
|
||||
Name = name;
|
||||
Type = type;
|
||||
Cabinet = cabinet;
|
||||
Groups = groups;
|
||||
Opponent = opponent;
|
||||
|
||||
string[] time = schedule.Split('-');
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -122,11 +122,11 @@ namespace GUT.Schedule
|
||||
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(
|
||||
("month", date.Month.ToString()),
|
||||
("month", date.Month.ToString("0:00")),
|
||||
("year", date.Year.ToString()),
|
||||
("type_z", "0"));
|
||||
|
||||
@@ -137,23 +137,35 @@ namespace GUT.Schedule
|
||||
throw new HttpRequestException(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"))
|
||||
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.ChildNodes[k * 13 + 11].TextContent,
|
||||
opponent: i.ChildNodes[k * 13 + 6].TextContent,
|
||||
year: date.Year,
|
||||
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.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 += "; " + schedule[k].Opponent;
|
||||
schedule[k - 1].Cabinet += ";\n" + schedule[k].Cabinet;
|
||||
schedule.RemoveAt(k--);
|
||||
}
|
||||
|
||||
return schedule;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?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" />
|
||||
<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" />
|
||||
|
||||
+215
-215
@@ -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;
|
||||
|
||||
@@ -19,10 +19,11 @@
|
||||
android:textStyle="bold"
|
||||
android:textSize="16dp"/>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/user"
|
||||
<CheckBox
|
||||
android:id="@+id/authorization"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Авторизоваться через Личный кабинет"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/studentParams"
|
||||
|
||||
Reference in New Issue
Block a user