Skip to content

Commit

Permalink
Merge pull request #156 from xavierfoucrier/2.4-release
Browse files Browse the repository at this point in the history
  • Loading branch information
xavierfoucrier committed Apr 7, 2019
2 parents 300465b + bbb9654 commit f6596c0
Show file tree
Hide file tree
Showing 32 changed files with 5,052 additions and 2,552 deletions.
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Xavier Foucrier
Copyright (c) 2019 Xavier Foucrier

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 7 additions & 1 deletion PRIVACY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@ This privacy notice discloses the privacy practices of Gmail Notifier for Window

## Information collected, used, shared and security

### Google
We are not collecting any of your personal informations. The feedback tool only provide your system informations such as local time, processor type, operating system in an anonymous way. We are not collecting your Google address or Google password. As the application is communicating with your Google account, the Google Developer Console are logging traffic informations, API methods used, error counts and server latency statistics.

We may use this information to make research on user behavior analytics and attitude. We do not disclose your private personal information.

For more informations about Google terms, read the [Google Privacy Policies](https://www.google.fr/intl/en/policies/privacy).

### Cloudflare
We will collect limited DNS query data that is sent to the resolvers. This data does not contain user IP addresses or any other personally identifiable information, and the bulk of the data is only stored for 24 hours.

For more informations about Cloudflare resolver terms, read the [Cloudflare Commitment to Privacy](https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/).

## Changes

Our Privacy Policy may change from time to time. We will not reduce your rights under this Privacy Policy without your explicit consent. We will post any privacy policy changes on this page and, if the changes are significant, we will provide a more prominent notice.

*Last update: 5th Juli 2018*
*Last update: February 17, 2019*
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Gmail notifier – [![Build Status](https://travis-ci.org/xavierfoucrier/gmail-notifier.svg?branch=master "Travis CI - Builds")](https://travis-ci.org/xavierfoucrier/gmail-notifier) [![Downloads](https://img.shields.io/github/downloads/xavierfoucrier/gmail-notifier/total.svg "Downloads - All releases")](https://github.com/xavierfoucrier/gmail-notifier/releases) [![Softpedia](https://raw.githubusercontent.com/xavierfoucrier/gmail-notifier/master/badge/softpedia.png "Softpedia - Awarded")](http://www.softpedia.com/get/Internet/E-mail/Mail-Utilities/xavierfoucrier-Gmail-notifier.shtml#status)
# Gmail notifier – [![Build Status](https://travis-ci.org/xavierfoucrier/gmail-notifier.svg?branch=master "Travis CI - Builds")](https://travis-ci.org/xavierfoucrier/gmail-notifier) [![Downloads](https://img.shields.io/github/downloads/xavierfoucrier/gmail-notifier/total.svg "Downloads - All releases")](https://github.com/xavierfoucrier/gmail-notifier/releases) [![Softpedia](https://img.shields.io/badge/softpedia-awarded-%230E7FC0.svg "Softpedia - Awarded")](http://www.softpedia.com/get/Internet/E-mail/Mail-Utilities/xavierfoucrier-Gmail-notifier.shtml#status)
Gmail notifications instantly in the Windows taskbar.

[![Gmail Notifier](https://raw.github.com/xavierfoucrier/gmail-notifier/master/gallery/main.png "Gmail Notifier - Discover the application running on Windows 7")](GALLERY.md)
[![Gmail Notifier](gallery/main.png "Gmail Notifier - Discover the application running on Windows 7")](GALLERY.md)


## Compatibility
Gmail notifier is fully tested on **Windows 7** desktop *(SP1)* and on a **Windows 10** laptop.

Many other Windows operating systems may work, like Windows 8/8.1, XP or Vista, but are not extensively tested for the moment.
Many other Windows operating systems may work, like Windows 8/8.1/Server, but are not extensively tested for the moment. Regarding the .NET Framework version, some operating systems like Windows Vista/XP are no longer supported.


## Dependencies
To ensure a stable running of Gmail notifier, you need to have **some requirements** setted on your machine.

1. Microsoft `.NET Framework 4.7.1` minimum required
1. Microsoft `.NET Framework 4.7.2` minimum required

Note that this version of the .NET Framework **evolve in time**: the application cares about **system security** and having one of the latest .NET version is very important for the final user. By default, if you don't have the required version installed, the application will display a message and propose to download the specified version on the **Microsoft official site**.

Expand All @@ -22,7 +22,7 @@ Note that this version of the .NET Framework **evolve in time**: the application
#### Setup installer
The setup installer contains both `32 bits (x86)` and `64 bits (x64)` versions. Its the better way to install Windows application and allows you to **cleanly install/uninstall** the application with ease. Note that you will need **administrators rights** to properly complete the installation. Recommended for all users.

* :package: [Gmail Notifier 2.1.8](https://github.com/xavierfoucrier/gmail-notifier/releases/download/v2.1.8-release/Gmail.Notifier.2.1.8.exe)
* :package: [Gmail Notifier 2.4](https://github.com/xavierfoucrier/gmail-notifier/releases/download/v2.4-release/Gmail.Notifier.2.4.exe)

#### Portable version
The portable version is made for users who want to install the application on a **USB key**, or **removable drive**. In the uninstall process, you will need to manually remove some files from the *%AppData%* folder or edit the registry to completely remove the application from your computer. Portable versions are **no longer available since official 1.0 release**. Recommended for beta-tester users.
Expand All @@ -37,7 +37,7 @@ If you want to report a bug or if you just want to request for a new feature/imp


## Softpedia award certification
This product was last tested in the **Softpedia Labs** on **5th of November 2018** by *Alexandra Sava*.
This product was last tested in the **Softpedia Labs** on **November 5, 2018** by *Alexandra Sava*.

Softpedia guarantees that Gmail notifier is **100% Free**, which means it does not contain any form of malware, including but not limited to: spyware, viruses, trojans and backdoors. This software product was tested thoroughly and was found **absolutely clean**; therefore, it can be installed with no concern by any computer user. However, it should be noted that this product will be retested periodically and the award may be withdrawn, so you should check back occasionally and pay attention to the date of testing shown above.

Expand Down
Binary file removed badge/softpedia.png
Binary file not shown.
47 changes: 45 additions & 2 deletions code/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,49 @@ root = true
charset = utf-8
end_of_line = crlf
indent_style = tab
tab_width = 2
insert_final_newline = false
trim_trailing_whitespace = true
tab_width = 2
trim_trailing_whitespace = true
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = flush_left
csharp_indent_switch_labels = true
csharp_new_line_before_catch = false
csharp_new_line_before_else = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = none
csharp_new_line_between_query_expression_clauses = true
csharp_prefer_braces = true:silent
csharp_prefer_simple_default_expression = true:suggestion
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_around_binary_operators = before_and_after
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_style_conditional_delegate_call = true:suggestion
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_throw_expression = true:suggestion
csharp_style_var_elsewhere = false:suggestion
csharp_style_var_for_built_in_types = false:suggestion
csharp_style_var_when_type_is_apparent = false:suggestion
43 changes: 26 additions & 17 deletions code/App.config
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="notifier.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="notifier.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="notifier.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="notifier.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
</startup>
<userSettings>
<notifier.Properties.Settings>
Expand Down Expand Up @@ -70,33 +70,39 @@
<setting name="AudioPop" serializeAs="String">
<value>True</value>
</setting>
<setting name="Scheduler" serializeAs="String">
<value>False</value>
</setting>
<setting name="SchedulerTimeSlot" serializeAs="String">
<value />
</setting>
</notifier.Properties.Settings>
</userSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.15.0" newVersion="1.2.15.0" />
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.15.0" newVersion="1.2.15.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.20.0.0" newVersion="1.20.0.0" />
<assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.20.0.0" newVersion="1.20.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Google.Apis.PlatformServices" publicKeyToken="4b01fa6e34db77ab" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.14.0.0" newVersion="1.14.0.0" />
<assemblyIdentity name="Google.Apis.PlatformServices" publicKeyToken="4b01fa6e34db77ab" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.14.0.0" newVersion="1.14.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Google.Apis" publicKeyToken="4b01fa6e34db77ab" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.20.0.0" newVersion="1.20.0.0" />
<assemblyIdentity name="Google.Apis" publicKeyToken="4b01fa6e34db77ab" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.20.0.0" newVersion="1.20.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.1.1.2" />
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.2.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down Expand Up @@ -127,14 +133,17 @@
<value>SOFTWARE\Microsoft\Windows\CurrentVersion\Run</value>
</setting>
<setting name="AUTH_TIMEOUT" serializeAs="String">
<value>20</value>
<value>40</value>
</setting>
<setting name="APPLICATION_NAME" serializeAs="String">
<value>Gmail notifier for Windows</value>
</setting>
<setting name="UPDATE_SERVICE_NAME" serializeAs="String">
<value>Gmail Notifier Update</value>
</setting>
<setting name="LOG_FILE" serializeAs="String">
<value>gmn.log</value>
</setting>
</notifier.Properties.Settings>
</applicationSettings>
</configuration>
18 changes: 14 additions & 4 deletions code/Computer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public enum Registration : uint {
PowerResume = false;
return;
}
// synchronizes the inbox and renew the token
UI.GmailService.Inbox.Sync(true, true);
}
Expand All @@ -137,9 +137,19 @@ public enum Registration : uint {
/// <returns>Indicates if the user is connected to the internet, false means that the request to the Google server has failed</returns>
public bool IsInternetAvailable() {
try {
using (WebClient client = new WebClient()) {
using (Stream stream = client.OpenRead("http://www.google.com")) {
return true;

// sends a ping to the 1.1.1.1 DNS registry
IPStatus status = new Ping().Send("1.1.1.1", 1000, new byte[32]).Status;

if (status == IPStatus.Success) {
return true;
} else {

// uses Google secured homepage as alternative to the DNS ping
using (WebClient client = new WebClient()) {
using (Stream stream = client.OpenRead("https://www.google.com")) {
return true;
}
}
}
} catch (Exception) {
Expand Down
20 changes: 16 additions & 4 deletions code/Core.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
using notifier.Properties;

namespace notifier {
static class Core {
Expand All @@ -10,22 +12,22 @@ static class Core {
/// <summary>
/// Major version number
/// </summary>
private static string VersionMajor = "";
private static readonly string VersionMajor = "";

/// <summary>
/// Minor version number
/// </summary>
private static string VersionMinor = "";
private static readonly string VersionMinor = "";

/// <summary>
/// Release version number
/// </summary>
private static string VersionRelease = "";
private static readonly string VersionRelease = "";

/// <summary>
/// Build version number
/// </summary>
private static string VersionBuild = "";
private static readonly string VersionBuild = "";

#endregion

Expand Down Expand Up @@ -62,6 +64,16 @@ static class Core {
Application.Exit();
}

/// <summary>
/// Logs a message to the application log file
/// </summary>
/// <param name="message">Message to log</param>
public static void Log(string message) {
using (StreamWriter writer = new StreamWriter(ApplicationDataFolder + "/" + Settings.Default.LOG_FILE, true)) {
writer.Write(DateTime.Now + " - " + message + Environment.NewLine);
}
}

#endregion

#region #accessors
Expand Down

0 comments on commit f6596c0

Please sign in to comment.